题
我很好奇:
如果你执行 printf("%f",number);
语句的精确度是多少?即将显示多少个小数位?这个编译器是否依赖?
解决方案
ANSI C标准在7.19.6.1节中说明了f格式说明符:
如果缺少精度,则给出6位数
其他提示
%f
的默认精度为6位数(参见ISO C99规范,7.19.6.1 / 7)。
本书 C:A参考手册指出,如果没有精确度,如果指定,则默认精度为6(即小数点后6位)。
一个警告是,如果数字是inf(即1.0 / 0.0)或NaN,则C99指定输出应为inf,-inf,infinity,-infinity或nan等....
不隶属于 StackOverflow