gpt4 book ai didi

c - GCC 在启用优化的情况下给出了错误的答案

转载 作者:太空狗 更新时间:2023-10-29 17:27:24 27 4
gpt4 key购买 nike

我有以下C程序

double d = 1.4;
int x;
x = d * 10;
printf("\n\n VALUE = %d " ,x);

我有 Ubuntu 9.04 自带的 gcc 4.3.3

我得到的答案是 -O0 为 13,但得到正确答案,即 14 具有更高的优化级别

这是已知问题还是我的代码有问题?

最佳答案

您不能使用 double 准确表示 1.4,该值实际上有点大或小一点(参见 this)。所以没有“正确”的答案 - 使用 round() 而不是隐式截断。

关于c - GCC 在启用优化的情况下给出了错误的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4545179/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com