包含 math.h 后出现 abs 'implicit declaration...' 错误

abs 'implicit declaration...' error after including math.h

我使用了 abs() 函数并在代码顶部添加了 #include <math.h> 。但我不断收到此错误:

hello.c:20:11: warning: implicit declaration of function 'abs' is invalid in C99
[-Wimplicit-function-declaration]
      int a = abs(arrOfHour[i] - hour) * 60 + minute;
              ^

我正在使用 LLVM 编译器。

为什么我已经添加了 math.h 却出现这个错误?

我将直接引用文档中的内容:"Prototypes for abs, labs and llabs are in stdlib.h"

根据经验,对浮点数进行运算的数学函数在 math.h 中,对整数进行运算的数学函数在 stdlib.h.

如果您需要更多信息,pretty good Wikipedia article 关于 C 数学函数。