Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用abs代替实验室或工厂有什么问题吗?_C++ - Fatal编程技术网

C++ 用abs代替实验室或工厂有什么问题吗?

C++ 用abs代替实验室或工厂有什么问题吗?,c++,C++,我想知道abs、实验室和晶圆厂的区别。这在cstdlib头文件下。所以,我对在cpp编程中使用这些词感到困惑 int abs(int n) 此函数返回n作为n变量的int的绝对值 long int labs(long int n) 此函数将参数n的绝对值返回为long int类型,而不是int float fabs(float n) 此函数将参数n的绝对值作为float类型变量返回 long int labs(long int n) 对于double和longdouble类型,仍然存在这

我想知道abs、实验室和晶圆厂的区别。这在cstdlib头文件下。所以,我对在cpp编程中使用这些词感到困惑

int abs(int n)
此函数返回
n
作为
n
变量的
int
的绝对值

long int labs(long int n)
此函数将参数
n
的绝对值返回为
long int
类型,而不是
int

float fabs(float n)
此函数将参数
n
的绝对值作为
float
类型变量返回

long int labs(long int n)
对于
double
longdouble
类型,仍然存在这些重载:

double fabs (double x); //for double variables
long double fabs (long double x); //for long double variables
对于这些重载,编译器将根据参数类型选择正确的版本


区别很明显,您应该使用正确版本的
abs()
depending对您正在使用的参数变量类型进行处理,错误的使用可能会导致以下原因。

唯一的区别是返回类型和参数类型。
abs()
将整数作为参数并返回整数,
fabs()
接受并返回浮点类型,如浮点或双精度浮点
labs()
获取并返回一个长整数。 因此,只需针对您正在处理的数据使用适当的方法。
检查此链接

它们是针对不同数据类型的不同功能。什么使你困惑?我不明白这些词的用法。你想知道什么不在电视上?这个问题太宽泛了,无法回答。你具体不明白什么?我们无法知道您当前的级别,例如,您可能不知道如何调用函数。您知道如何调用函数吗?主题问题的示例:“在下面的
#中,包含您的最后一句话可能会被误读。存在隐式转换,因此参数的类型不一定与参数的类型相同。@idclev463035818,是的,我更改了它。