C语言调试输出变量为-1.#IND00 -1.#INF00 1.#INF00

-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 
#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;
}

你可能感兴趣的:(C语言调试输出变量为-1.#IND00 -1.#INF00 1.#INF00)