先頭へ戻る

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

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

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 のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー