/*********************************************
* @brief 求绝对值
* @param n 要计数绝对值的整数
* @return 绝对值
********************************************/
long long llabs(long long n);
!subtitle:说明
计算 long long 类型整数的绝对值。
注意,
long long可以表示的负数范围比正数范围大,无法计算 LLONG_MIN 的绝对值。
!subtitle:参数
n - 要计算绝对值的整数
!subtitle:返回值
参数 n 的绝对值。
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
int main(void)
{
printf("%lld\n", llabs(0)); // 0 的绝对值
printf("%lld\n", llabs(233)); // 正数的绝对值
printf("%lld\n", llabs(-888)); // 负数的绝对值
return 0;
}
运行结果:
0
233
888
C23 standard (ISO/IEC 9899:2024):
7.8.2.1 The imaxabs function (p: TBD)
7.22.6.1 The abs, labs and llabs functions (p: TBD)
C17 standard (ISO/IEC 9899:2018):
7.8.2.1 The imaxabs function (p: 159)
7.22.6.1 The abs, labs and llabs functions (p: 259)
C11 standard (ISO/IEC 9899:2011):
7.8.2.1 The imaxabs function (p: 218)
7.22.6.1 The abs, labs and llabs functions (p: 356)
C99 standard (ISO/IEC 9899:1999):
7.8.2.1 The imaxabs function (p: 199-200)
7.20.6.1 The abs, labs and llabs functions (p: 320)