C-standard-library-c-macro-erange
提供:Dev Guides
Cライブラリマクロ-ERANGE
説明
前述のように、Cライブラリマクロ ERANGE は、入力引数が範囲外にある場合に発生する範囲エラーを表します。この範囲を超えると、数学関数が定義され、errnoがERANGEに設定されます。
宣言
ERANGEマクロの宣言は次のとおりです。
#define ERANGE some_value
パラメーター
- NA
戻り値
- NA
例
次の例は、ERANGEマクロの使用法を示しています。
#include <stdio.h>
#include <errno.h>
#include <math.h>
int main () {
double x;
double value;
x = 2.000000;
value = log(x);
if( errno == ERANGE ) {
printf("Log(%f) is out of range\n", x);
} else {
printf("Log(%f) = %f\n", x, value);
}
x = 1.000000;
value = log(x);
if( errno == ERANGE ) {
printf("Log(%f) is out of range\n", x);
} else {
printf("Log(%f) = %f\n", x, value);
}
x = 0.000000;
value = log(x);
if( errno == ERANGE ) {
printf("Log(%f) is out of range\n", x);
} else {
printf("Log(%f) = %f\n", x, value);
}
return 0;
}
次の結果を生成する上記のプログラムをコンパイルして実行しましょう-
Log(2.000000) = 0.693147
Log(1.000000) = 0.000000
Log(0.000000) is out of range