首先,輸入-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>
雖然是個小知識點,但一定要謹記好咯。