printf函数的格式说明项是 [标志][输出最小宽度][.精度][长度]类型
如果标志的位置填 -,表示的意义为“数据宽度小于最小宽度时,结果左对齐,右边填空格”
而我想实现这个功能时,为什么右边填了0
printf("The bigger number would be %-7f\n", max); //这个数字为9.2,应该小于宽度7
printf函数的格式说明项是 [标志][输出最小宽度][.精度][长度]类型
如果标志的位置填 -,表示的意义为“数据宽度小于最小宽度时,结果左对齐,右边填空格”
而我想实现这个功能时,为什么右边填了0
printf("The bigger number would be %-7f\n", max); //这个数字为9.2,应该小于宽度7
C标准规定%f至少要显示六位有效数字,%-7f,六位有效数字再加上一个小数点,刚好填充七个字段
所以,我猜你的输出结果应该是9.20000
上面答案有问题,更正如下:
%f默认会打印所有的整数部分,并打印到小数点后六位
这样,9.200000加上小数点一共8个字段,所以后面全是0,而且7个字段不够显示,就自动扩充为了8个