use*_*850 5 c gcc
我有以下C程序
double d = 1.4; int x; x = d * 10; printf("\n\n VALUE = %d " ,x);
我有Uccntu 9.04附带的gcc 4.3.3
我用-O0得到答案为13,但得到正确的答案,即14,具有更高的优化级别
这是一个已知问题或我的代码有问题吗?
小智 9
你不能完全代表1.4使用double,这个值实际上有点滞后或略小(见这个).所以没有"正确"的答案 - 使用round()而不是隐含地截断.
double
round()
ism*_*ail 9
这是gcc bug#323,实际上这不是bug而是实现细节.
归档时间:
14 年,11 月 前
查看次数:
375 次
最近记录:
7 年,11 月 前