C语言中nan的使用
Posted 宣之于口
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;就不能被水过去了。
感觉好神奇,又涨姿势了。
以上是关于C语言中nan的使用的主要内容,如果未能解决你的问题,请参考以下文章