C语言中nan的使用


C语言中nan的使用


含义:表示 not a number

产生:对浮点数产生了未定义的操作

    1.对负数开方,对负数求对数,0.0/0.0,0.0*inf、inf/inf、inf-inf这些操作都会得到nan。(0/0会产生操作异常;0.0/0.0不会产生操作异常,而是会得到nan);

    2.在GNU中,使用宏:float NAN对浮点数赋值;

注意:

    1.如果表达式中含有nan,那么表达式的结果为nan;
    2.得到nan时就查看是否有非法操作

说明:今天遇到一道结果是输出一个浮点数的题目,看到一个学长直接printf(“nan\n”);就A了,感觉很神奇,所以了解了一下。

能被水过去是可能是因为题目比较水,spj判断的时候写成if(fabs(out-ans) > eps) return WA;因为fabs(out-ans) > eps,这个如果out是nan的话会反回假的,写成if(fabs(out-ans) < eps)return AC;就不能被水过去了。

感觉好神奇,又涨姿势了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值