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

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值