首先,输入-42333380005结果取出来的绝对值却是616292955。
开始我以为是long型的取值范围有问题,就把long型全部改为long long型的了,结果还是一样,就觉得绝对值这个函数有问题,因为是进到abs这个函数后出来的数给变了,所以一查就出来:
c语言中,通过相应的函数得到x的绝对值,因为数据数据类型不同,相应的函数不同。
整型类型变量(整数)取绝对值:
int abs( int x );
long int labs( long x );
long long int llabs( long long x );
浮点类型变量(小数)取绝对值:
double( double x );
float fabsf(float x);
long double fabsl( long double x) ;
相关头文件:
#include <stdlib.h>
#include <math.h>
虽然是个小知识点,但一定要谨记好咯。