目录

ERANGE范围错误(ERANGE Range Error)

描述 (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
↑回到顶部↑
WIKI教程 @2018