当前位置: 技术问答>linux和unix
如何在linux c下判断nan?是不是要增加特别的编译选项?
来源: 互联网 发布时间:2016-06-20
本文导语: 我在linux下的C环境下有个double值算出来是nan, 需要用isnan判断一下是不是nan, 但是判断好像没用,是不是要用isnan的话要加什么特殊的编译选项? linux 下的C 中isnan的用法是怎样的?和MSDN中一样吗? |...
我在linux下的C环境下有个double值算出来是nan, 需要用isnan判断一下是不是nan, 但是判断好像没用,是不是要用isnan的话要加什么特殊的编译选项?
linux 下的C 中isnan的用法是怎样的?和MSDN中一样吗?
linux 下的C 中isnan的用法是怎样的?和MSDN中一样吗?
|
如果说需要什么编译选项的话,一般也不需要,不过isnan宏是C99才有的在不支持C99的编译器上估计有问题。
如果是gcc,用-std=c99选项应该就可以了。
如果是gcc,用-std=c99选项应该就可以了。
|
当然不一样!
用法
要使用isnan() 宏,请使用缺省的-Ae 选项,或者-Aa 和-D_HPUX_SOURCE 选项进行编译。并确保程序包含
。通过指定编译程序命令行或链接程序命令行上的-lm 选项,链接到数学库。
返回值
当且仅当其参数具有NaN 值时, isnan() 宏才返回非零值。此宏不引发任何浮点运算异常。