我在Winows 7上使用gcc-mingw,4.5.2。 无穷大和南数值的printf导致1.#INF00和-1。#IND00出现在屏幕上,而不是无限和&&楠 什么可以解决这个问题
UPD :我尝试使用isinf
和isnan
宏:
C3861: 'isinf': identifier not found error
C3861: 'isnan': identifier not found.
(我确实包括了math.h) 这是什么原因?
答案 0 :(得分:3)
使用isinf()
和isnan()
宏来测试数字是无限还是NaN。
答案 1 :(得分:3)
将以下内容添加到program.cpp
#ifndef isinf
#define isinf(x) ((x)!=(x))
#endif
#ifndef isnan
#define isnan(x) ((x)!=(x))
#endif
答案 2 :(得分:1)
这就是编译器的标准库如何处理这些特殊值。如果你想要不同的治疗,你需要编写自己的打印功能,检测特殊值并打印你想要的文本。