%f %d
printf("%-4.2f\n",213.82631);
[分析]
%-4.2f
- % 格式说明符
-表示输出的数字将左对齐,在字段宽度内- 4:表示 总的字段宽度是 4 个字符
- .2 表示小数点后有两位小数
- f 表浮点数格式
printf("%-4.2f\n",213.82631); 在本题目中,应该输出的是213.83 但是这个输出的字符串超出了要求的4个字符宽度, 这是不可能的。
但是实际总长度是会超过4个字符的。
总结 输出结果将会是213.83 并且实际总长度超过4个字符,宽度限制将会被忽略。
由于这个长度超过了指定的宽度,
printf会忽略宽度限制,并输出完整的213.83。
原理 -“在C语言的
printf函数中,当指定的字段宽度小于实际要打印的字符串(或数字转换为字符串后的形式)的长度时,printf不会报错,而是会简单地忽略这个宽度限制,并输出完整的字符串。这是因为printf的设计目标是尽可能地按照用户的要求格式化输出,但如果用户的要求(如宽度限制)与实际内容不兼容,printf会选择输出实际内容而不是截断它或产生错误。