4

Winows 7 で gcc-mingw,4.5.2 を使用しています。無限値と nan 値の printf により、1.#INF00 と -1.#IND00 が画面に表示されます。

UPD :マクロを使用しようとしましたisinfisnan

C3861: 'isinf': identifier not found error 
C3861: 'isnan': identifier not found.

(私は math.h に含めました) これの理由は何ですか?

4

3 に答える 3

3

以下を program.cpp に追加します。

#ifndef isinf
#define isinf(x) ((x)!=(x))
#endif


#ifndef isnan 
#define isnan(x) ((x)!=(x)) 
#endif
于 2015-04-29T00:52:16.070 に答える
3

isinf()およびマクロを使用してisnan()、数値が無限大か NaN かをテストします。

于 2011-10-22T11:55:10.763 に答える
1

これは、コンパイラの標準ライブラリがこれらの特別な値を処理する方法です。別の処理が必要な場合は、特別な値を検出して必要なテキストを印刷する独自の印刷関数を作成する必要があります。

于 2011-10-22T11:55:21.167 に答える