在stdlib.h中定义的abs只针对整数取决对值,如果要对浮点数取绝对值,应该用fabs(或fabsf)。
而math.h中定义的abs是可以对浮点数取绝对值的。
所以如果包含了stdlib.h和math.h,无论对整数还是浮点数,都可以用abs取决于值。
如果程序中调用了abs(0.3),是否会因为包不包含math.h而得到不同的运行结果?
并不会,因为如果只包含了stdlib.h而没包含math.h,则abs(0.3)会报错。
在stdlib.h中定义的abs只针对整数取决对值,如果要对浮点数取绝对值,应该用fabs(或fabsf)。
而math.h中定义的abs是可以对浮点数取绝对值的。
所以如果包含了stdlib.h和math.h,无论对整数还是浮点数,都可以用abs取决于值。
如果程序中调用了abs(0.3),是否会因为包不包含math.h而得到不同的运行结果?
并不会,因为如果只包含了stdlib.h而没包含math.h,则abs(0.3)会报错。