C语言中%6.2f\n的6的含义

我知道2是小数数
有人说6是数位长度,我试了下,
a=123456.789
用6.2和10.2的差别是字符串前面多了几个空格

但是不管是1.2,2.2,3.2,一直到6.2
输出结果都是顶格的a=123456.79
这个代表什么

loat a = 123456.789;
printf("%6.2f", a);

%6.2f的格式含义是,数字整体长度包括小数点为6位,保留两位小数。但当实际长度大于格式定义的位数时以实际为准,因此输出是123456.79

第二个当格式定义的位数大于实际长度时,补空格
输出就是:##1.20 #表示空格

你可以把a改为 1234.789再试试,就明白了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-11
%6.2f的格式含义是,数字整体长度包括小数点为6位,保留两位小数。但当实际长度大于格式定义的位数时以实际为准,因此输出是12345678.12
第二个当格式定义的位数大于实际长度时,补空格
输出就是:##1.20 #表示空格
第2个回答  2013-10-15
你好!!
6的意思是: 整数部分如果不够六位,那么数字的前面就用空格补齐六位
相似回答