ERANGE范围错误(ERANGE Range Error)
优质
小牛编辑
128浏览
2023-12-01
描述 (Description)
如上所述,C库宏ERANGE表示范围错误,如果输入参数超出范围,则会发生范围错误,在该范围内定义数学函数并将errno设置为ERANGE。
声明 (Declaration)
以下是ERANGE Macro的声明。
#define ERANGE some_value
参数 (Parameters)
NA
返回值 (Return Value)
NA
例子 (Example)
以下示例显示了ERANGE Macro的用法。
#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