结果为abcde。在“.”之前的表示你要输出的占用几个位置,例如你在家里有一些位子,你有一些朋友来家里坐,那它们一共要占用几个位子呢,“.”之前就是表示这个,之后呢,就是表示保留的位数,就是在abcdefg里,你要几个呢,因为你是5,所以就应该 是abcde,它有五位,虽然你只占四个空,但你却有五个数,那就不用去理它啦,它表示默认的字段宽度,如果实际输出的字符数量少于4个,则左补空格,否则按实际长度输出。 就是这样啦
%s是用来输出一个字符串。有几种用法:1: %s,例如printf(“%s”,“china”);输出china;2:%ms,输出的字符串占m列,如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。若小于m则左补空格;3:%-ms,如果字符串长度小于m,则在m列范围内,字符串向左靠,右补空格;4:%m.ns,输出的字符串占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格;5:%-m.ns,n个字符输出在m列范围内的左侧,右补空格。如果n>m,则m自动取n的值,即保证n个字符正常输出