我在 C 代码中遇到了 fabs 函数的奇怪问题。我有两个 double 值,我想使用如下代码找到它们差异的绝对值:
a = 87.967498;
b = 218.025015;
if (fabs(a-b)<2.0)
...code to execute
fabs(a-b)的值是一个int,等于1。我不知道这里出了什么问题,而且我在网上找不到任何东西。任何帮助都会很棒!!
最佳答案
您没有包含 <math.h>
。将以下行添加到您的其他包含中:
#include <math.h>
为了更容易地发现此类错误,我建议您使用详细的编译器警告(gcc -Wall -Wextra ...
如果您使用 gcc)。
关于C fabs 返回整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316183/