😸

[C] isnan 関数

に公開

機能

浮動小数点数が「NaN」(Not a Number)かどうかを判定する標準関数。[1]

使用例

NaNを検出しました と表示する

\n は改行を表す エスケープシーケンス[2]

コード

#include <stdio.h>
#include <math.h>

double x = 0.0/0.0;                 // NaNを生成
if(isnan(x)) {
    printf("NaNを検出しました\n");
}
全文
#include <stdio.h>
#include <math.h>

void main() {
    double x = 0.0/0.0;             // NaNを生成
    if(isnan(x)) {
        printf("NaNを検出しました\n");
    }
}

実行結果

NaNを検出しました

正常な値です を変数から表示する

コード

#include <stdio.h>
#include <math.h>

double y = 1.23;
if(!isnan(y)) {
    printf("正常な値です\n");
}
全文
#include <stdio.h>
#include <math.h>

void main() {
    double y = 1.23;
    if(!isnan(y)) {
        printf("正常な値です\n");
    }
}

実行結果

正常な値です
脚注
  1. 「NaN」は演算が定義できない場合(例:0.0/0.0 など)に発生する値。比較演算子では判別できない。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion