C语言isfinite():判断有限值
isfinite() 是 C语言标准库中的一个宏,定义在
isfinite() 的功能是判断一个浮点数的值是否有限。所谓有限,指的是浮点数的值不是正无穷、负无穷和 NaN(非数字)。
isfinite() 宏的定义如下:
【实例】以下的 C语言程序用 isfinite() 宏检查了不同的浮点数是否有限,并将结果打印出来。
<math.h>
头文件里。isfinite() 的功能是判断一个浮点数的值是否有限。所谓有限,指的是浮点数的值不是正无穷、负无穷和 NaN(非数字)。
isfinite() 宏的定义如下:
isfinite(x)
参数
x:要检测的浮点数。结果
- 如果参数 x 是有限数值,则宏的结果为非零值(true)。
- 如果参数 x 是正无穷、负无穷或 NaN,则宏的结果为零(false)。
【实例】以下的 C语言程序用 isfinite() 宏检查了不同的浮点数是否有限,并将结果打印出来。
#include <stdio.h> #include <math.h> int main() { double numbers[] = {3.14, INFINITY, -INFINITY, NAN, 0.0}; for(int i = 0; i < 5; i++) { if (isfinite(numbers[i])) { printf("%.3f is finite.\n", numbers[i]); } else { printf("%.3f is not finite.\n", numbers[i]); } } return 0; }输出结果为:
3.140 is finite.
inf is not finite.
-inf is not finite.
nan is not finite.
0.000 is finite.