C语言中printf输出函数问题

如题所述

printf("%6.3d",a);如果a的位数大于等于6,则输出与正常一样;如果a是3、4或5位(如123,1234,12345),则输出的时候按照右对齐方式输出,左边补空,如123输出为
123(1前面有三个空格),如1234输出则为
1234(1前面有两个空格),而12345输出则为
12345(1前面有1个空格),如果a的位数小于3,如12,输出则为
012,(0的前面有三个空格),又如1,输出则为
001(第一个0的前面有三个空格)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-09
%6.3d,这样写不会出问题,但不符合规矩。这里d表示输出的为整数。而6.3表示整个输出占用6个字符位置,其中小数位为3个字符位。但按你提供的写法,输出就全部是整数,不可能有小数,所以输出按右对齐方式进行。不足六位,前面将显示1个0。多于六位,将会出错。
第2个回答  2020-03-09
楼上的错了吧,6.3表示输出占用6个字符位置,其中的3表示最小精度为3位,比如输入的是1,那么前面就要加两个0,变成001达到最小精度,然后靠右输出,左边要有3个空格,凑齐6位。
相似回答