将同一实数分别赋值给单精度和双精度类型变量,然后打印输出。
#include <stdio.h>
main()
{
float a;
double b;
a = 123456.789e4;
b = 123456.789e4;
printf(“%f/n%f/n ”,a,b);
}
```
运行结果如下:
1234567936.000000
1234567890.000000
问题:为什么同一个实数赋值给 float 型变量和 double 型变量,输出结果会有所不同呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.