include <stdio.h>
int main(void) {
float f = 123.456;
printf("%12f",f);
return 0;
}
用Microsoft Visual c++输出结果是123.456001.请问大佬,教材上结果是123.456000.到底哪个是对的啊?
还有字符串中的"."号算一个字符吗?即这12位包含点号的位吗?
int main(void) {
float f = 123.456;
printf("%12f",f);
return 0;
}
用Microsoft Visual c++输出结果是123.456001.请问大佬,教材上结果是123.456000.到底哪个是对的啊?
还有字符串中的"."号算一个字符吗?即这12位包含点号的位吗?
15 回答8.4k 阅读
8 回答6.2k 阅读
3 回答2k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
123.456001 和 123.456000 哪个都对是因为计算机计算浮点会有偏差这不是你程序写错了,printf("%12f",f); 12 指的是字段宽度
方括号代表可选规范。
可以省略width或.precision或modifier或这些的任意组合。
width值是一个整数,指定包含空格的字符总数。precision值是一个整数,指定小数点后的小数位数。
当输出的值是long double类型时,修饰符部分为L,否则省略它。