c - 用于浮点返回非预期值的 abs 函数 C
问题描述
我在使用带有浮点值的 abs() 函数时遇到问题。它在使用整数时工作得很好,但在使用浮点数时它总是只输出 1,即使它应该是 3.1 - 1.8 作为 1 出来。我正在使用数组来获取值,只是不确定发生了什么,我尝试使用晶圆厂和从浮动改为双,但没有区别。
x_distance = abs(x_coord[0] - x_coord[1]);
D:/数据 D 驱动器/大学/Year_2/EEEE 2063/CourseWork2/test/main.c:33:18:
解决方案
abs
是为了int
争论。将它与浮点参数一起使用会将值截断为整数(或溢出)。
分别使用fabsf
,fabs
或fabsl
, float
,double
或long double
, 。这些在<math.h>
.
或者,包括<tgmath.h>
(类型通用数学)并fabs
与任何浮点类型一起使用。
推荐阅读
- java - Psql 命令运行脚本插入 PostgreSQL
- react-native - 反应本机错误无法识别的运算符 min
- python - 在 VS Code 中使用同一文件夹中的文件时未发现模块错误
- matlab - 在Matlab中沿着局部最大值跟踪一条线
- abap - SAP 数据字典中的表传递类有什么用?
- mysql - 使用其他两个表的两个字段的最大值更新表的字段值
- reactjs - React Router DOM - 重定向组件无法正确呈现路由
- android - Android Kotlin:调试期间局部变量不可用
- java - 用mysql数据库创建jar文件
- cordova - 我可以使用完整的用户代理字符串吗?