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) = -inf

 C 標準庫 - <errno.h>