©
Ce document utiliseManuel du site Web PHP chinoisLibérer
在头文件 |
|
|
---|---|---|
int abs( int n ); |
|
|
long labs( long n ); |
|
|
long long llabs( long long n ); |
|
(since C99) |
Defined in header |
|
|
intmax_t imaxabs( intmax_t n ); |
|
(since C99) |
计算整数的绝对值。如果结果不能由返回类型表示,则行为未定义。
n |
- |
整数值 |
---|
n
(i.e.|n|
)的绝对值,如果它是可表示的。
在2的补码系统中,最大负值的绝对值超出范围,例如对于32位2的补码类型int,INT_MIN是-2147483648,但是可能结果2147483648大于INT_MAX,即2147483647。
#include#include #include int main(void){ printf("abs(+3) = %d\n", abs(+3)); printf("abs(-3) = %d\n", abs(-3)); // printf("%+d\n", abs(INT_MIN)); // undefined behavior on 2's complement systems}
输出:
abs(+3) = 3abs(-3) = 3
C11标准(ISO / IEC 9899:2011):
7.8.2.1 imaxabs函数(p:218)
7.22.6.1 abs,labs和llabs函数(p:356)
C99标准(ISO / IEC 9899:1999):
7.8.2.1 imaxabs函数(p:199-200)
7.20.6.1 abs,labs和llabs函数(p:320)
C89 / C90标准(ISO / IEC 9899:1990):
4.10.6.1 abs函数
4.10.6.3实验室功能