象冢:请大家在自己的机子里运行一下这个程序,把结果发上来。

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 01:44:19
#include <stdio.h>
void main()
{
float f=123.456;
printf("%10f",f);
}
听说各自的机器不同,后面的三位数有人可能不是001。对不?

123.456001

float 型数的有效数字是7位,你按10位输出,去掉小数点,输出了9位,所以最后一个小数是不可靠的.

如果改用double,用10位lf [小写LF]格式输出
#include <stdio.h>
void main()
{
double f=123.456;
printf("%10lf",f);
}

123.456000 就对了

123.456001

支持楼上