≫ ホーム ≫ C言語ヘッダファイル別一覧 | C言語アルファベット別一覧 ≫ math.h ≫ nan, nanf, nanl
文字列を NaN (非数) に変換します.
#include <math.h>
double nan( const char *tagp );
nan 関数は文字列を double 型の NaN (非数) に変換します.
#include <math.h>
float nanf( const char *tagp );
nanf 関数は文字列を float 型の NaN (非数) に変換します.
#include <math.h>
long double nanl( const char *tagp );
nanl 関数は文字列を long double 型の NaN (非数) に変換します.
nan("n 文字列") の呼び出しは以下の式と等価になります.
strtod("NAN(n文字列)", (char **)NULL);
nan("") の呼び出しは以下の式と等価になります.
strtod("NAN()", (char **)NULL);
tagp が文字列を指していない場合の動作は以下の式と等価になります.
strtod("NAN", (char **)NULL);
以下に nan 関数を使用したサンプルプログラムを示します.
/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* main */
int main(void) {
char s[] = "snoopy";
char empty[] = "";
if ( isnan(nan(s)) ) {
printf("nan(s): NaN\n");
}
if ( isnan(nan(empty)) ) {
printf("nan(empty): NaN\n");
}
if ( isnan(nan(NULL)) ) {
printf("nan(NULL): NaN\n");
}
return EXIT_SUCCESS;
}
サンプルプログラムの実行結果は以下のようになります.
nan(s): NaN nan(empty): NaN nan(NULL): NaN
たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.
C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります.
オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.
ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.