没有人知道测试双精度(或整数)是否为无穷大的方法,例如,当执行1/0操作时?
isfinite(n)似乎不起作用。
您可以检查
if(d == INFINITY) {}
或
if(d > DBL_MAX) {}
INFINITY是在math.h中定义的常量浮点表达式,表示正无穷大;DBL_MAX是在float.h中定义的常数,代表可以表示的最大双精度数。
INFINITY
math.h
DBL_MAX
float.h
也检查here