为什么我的两台运行linux的计算机会产生与C代码不同的结果

为什么我的两台运行linux的计算机会产生与C代码不同的结果,c,linux,complex-numbers,C,Linux,Complex Numbers,所以我在几台不同的机器上运行了一些C代码,除了一台之外,其他所有机器上的结果都是一样的。但在一台机器上,我得到的Zth值不正确 在我的机器上,我得到了正确的值。在另一台机器上,我得到0.000+0.000,这是不正确的。我猜它与complex.h有关,但我不确定如何解决这个问题。将表达式分解为越来越小的部分,直到找到问题所在 仔细检查编译器命令,确保它没有对构建使用不同的选项集,例如-ffast math将表达式分解为越来越小的部分,直到找到问题 仔细检查编译器命令,确保它没有对构建使用不同的选

所以我在几台不同的机器上运行了一些C代码,除了一台之外,其他所有机器上的结果都是一样的。但在一台机器上,我得到的Zth值不正确


在我的机器上,我得到了正确的值。在另一台机器上,我得到0.000+0.000,这是不正确的。我猜它与complex.h有关,但我不确定如何解决这个问题。

将表达式分解为越来越小的部分,直到找到问题所在


仔细检查编译器命令,确保它没有对构建使用不同的选项集,例如
-ffast math

将表达式分解为越来越小的部分,直到找到问题


仔细检查编译器命令,确保它没有对构建使用不同的选项集,例如
-ffast math

不同CPU型号上的浮点精度会发生变化


您应该尝试在float、double、long double上使用sizeof,看看结果是否相同。

不同CPU型号上的浮点精度会发生变化


您应该尝试在float、double、long-double上使用sizeof,看看结果是否相同。

它们都是32位还是64位?首先找出不同之处。不同的体系结构(32对64位)、不同的编译器版本、不同的发行版、不同的glibc版本等等。内核上的一个标签不是计算机的唯一标识特征。您可以编辑并发布更多代码吗?请显示每个系统的
uname-a
输出。另外,正确的输出是什么?都是32位还是64位?首先找出不同之处。不同的体系结构(32对64位)、不同的编译器版本、不同的发行版、不同的glibc版本等等。内核上的一个标签不是计算机的唯一标识特征。您可以编辑并发布更多代码吗?请显示每个系统的
uname-a
输出。另外,正确的输出是什么?