为了找到在我的C程序中设置为NaN的浮点变量的原因,我启用了浮点异常,如下所示:
#include <fenv.h> feenableexcept(FE_INVALID | FE_OVERFLOW);
我知道它有效,因为我写的时候:
int val = 0.0/0.0;
在我的程序中,浮点异常上升.
但NaNs正在“扩散”我的程序的浮点计算,我不知道哪个变量首先设置为NaN.
是否存在导致NaN变量设置的原因,这不会导致浮点异常?