C语言 库宏 ERANGE

>C语言 标准库 <errno.h>C语言 标准库 <errno.h>

C 库宏 ERANGE 表示一个范围错误,它在输入参数超出数学函数定义的范围时发生,errno 被设置为 ERANGE。

 

1. 声明

下面是 ERANGE 宏的声明。

#define ERANGE some_value

 

2. 参数

  • NA

 

3. 返回值

  • NA

 

4. 实例

下面的实例演示了 ERANGE 宏的用法。

#include <stdio.h>
#include <errno.h>
#include <math.h>

int main()
{
   double x;
   double 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(1.000000) = 1.609438
Log(0.000000) is out of range

>C语言 标准库 <errno.h>C语言 标准库 <errno.h>

C语言 标准库 <float.h>:C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量。这些常量是由 ANSI C 提出的,这让程序更具有可移植性。1. 库宏:下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。请注意,所有的实例 FLT 是指类型 float,DBL 是指类型 double,LDBL 是指类型 long double。