C 库宏 - ERANGE

描述

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

声明

下面是 ERANGE 宏的声明。

  1. #define ERANGE some_value

参数

  • NA

返回值

  • NA

实例

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

实例

  1. #include <stdio.h>
  2. #include <errno.h>
  3. #include <math.h>
  4. int main()
  5. {
  6. double x;
  7. double value;
  8. x = 2.000000;
  9. value = log(x);
  10. if( errno == ERANGE )
  11. {
  12. printf("Log(%f) is out of range\n", x);
  13. }
  14. else
  15. {
  16. printf("Log(%f) = %f\n", x, value);
  17. }
  18. x = 1.000000;
  19. value = log(x);
  20. if( errno == ERANGE )
  21. {
  22. printf("Log(%f) is out of range\n", x);
  23. }
  24. else
  25. {
  26. printf("Log(%f) = %f\n", x, value);
  27. }
  28. x = 0.000000;
  29. value = log(x);
  30. if( errno == ERANGE )
  31. {
  32. printf("Log(%f) is out of range\n", x);
  33. }
  34. else
  35. {
  36. printf("Log(%f) = %f\n", x, value);
  37. }
  38. return 0;
  39. }

让我们编译并运行上面的程序,这将产生以下结果:

  1. Log(2.000000) = 0.693147
  2. Log(1.000000) = 0.000000
  3. Log(0.000000) = -inf