EDOM | Programming Place Plus C言語編 標準ライブラリのリファレンス

C言語編 標準ライブラリのリファレンス EDOM

先頭へ戻る

EDOM

概要 数学関数の定義域エラーを表すエラーコード。
ヘッダ errno.h
形式 #define EDOM 33
置換結果 0以外の何らかの整数。
詳細 数学関数の定義域エラー(DOMain Error)を表し、errno に格納される値である。
数学関数の実引数が、その関数で定義される定義域から外れていることを表す。C95以前、あるいは C99以降で「math_errhandling & MATH_ERRNO」が 0以外の場合に、errno に EDOM を格納する。
注意
使用例
#include <stdio.h>
#include <math.h>
#include <errno.h>
#include <float.h>

int main(void)
{
    double x;

    errno = 0;
    x = log( -1.0 );
    if( errno == EDOM ){
        puts( "log関数の実引数が不正" );
        return 0;
    }
    printf( "%f\n", x );

    return 0;
}

実行結果:

log関数の実引数が不正
関連 標準には、他のエラーコードとして、ERANGEEILSEQ が定義されている(ただし EILSEQ は C99以降)
C99 では定義域エラーの発生時に浮動小数点例外(FE_INVALID)を発生させることがある。
解説章 第48章


参考リンク



更新履歴

'2018/4/21 「詳細」を書きなおした。

'2018/4/6 C99以降での errno の扱いについて追記。

'2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS