Winows 7 で gcc-mingw,4.5.2 を使用しています。無限値と nan 値の printf により、1.#INF00 と -1.#IND00 が画面に表示されます。
UPD :マクロを使用しようとしましたisinf:isnan
C3861: 'isinf': identifier not found error
C3861: 'isnan': identifier not found.
(私は math.h に含めました) これの理由は何ですか?
以下を program.cpp に追加します。
#ifndef isinf
#define isinf(x) ((x)!=(x))
#endif
#ifndef isnan
#define isnan(x) ((x)!=(x))
#endif
isinf()およびマクロを使用してisnan()、数値が無限大か NaN かをテストします。
これは、コンパイラの標準ライブラリがこれらの特別な値を処理する方法です。別の処理が必要な場合は、特別な値を検出して必要なテキストを印刷する独自の印刷関数を作成する必要があります。