-1.#IND00:程序中有不合法的计算,比如对一个负数开根号,或者求log(-1)这些等等;
-1.#INF00:计算结果为负无穷,比如求-1/0;
1.#INF00:计算结果为正无穷,比如1/0;
在math.h头文件中,可以用isnan()函数(is not a number,是否不是一个数字)判断一个数是否是合法计算结果, 返回true表示计算结果非法,false表示合法。也可以用isinf()函数(is infinite,是否是无穷大)判断一个数是否是无穷大,返回true表示计算结果是无穷大,false表示不是无穷大。
#include <stdio.h>
#include "math.h"
int main()
{
double x = 0;
double y = -1/x;
//double y = log(double(-1));
if (isnan(y))//如果计算非法
printf("not a number\n");
else if (isinf(y))//如果计算结果为无穷大
printf("infinite\n");
else//计算结果正常
printf("%lf\n", y);
return 0;
}
来源:CSDN
作者:故里草木深
链接:https://blog.csdn.net/x_a_little_story/article/details/104036650