C语言中的abs函数

3

我用C语言编写了一些代码(不是C++):

Mask1 = abs(Area1 * 2 + Area2 * -2);

Area1、Area2和Mask1是三个双精度浮点数变量。(例如3.00556,34.3333)

我的问题是abs返回一个整数值(例如30)。

我需要怎么做才能解决这个问题?

谢谢。

5个回答

15

使用fabs


1
请注意,这是因为C不支持方法重载,针对那些来自“其他”语言的人。 - Andrew Coleson
1
事实上,C甚至没有方法。它只有函数。 ;) - Dima


5

abs()函数需要一个整数作为参数,并返回一个整数结果。你的双精度浮点数自动被截断为整数。一个好的C++编译器会给你一个警告。

在这里要使用的函数是fabs()(双精度浮点数)或fabsf()(单精度浮点数)。


1
使用fabs()函数。

0
使用 fabs() 函数

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接