C EDOM

EDOM 是在 errno.h 头文件中定义的一个**宏**。此宏用于显示域错误,当输入参数超出定义数学函数的域时会发生域错误,并且 errno 被设置为 EDOM。


#define EDOM some_value; 

 

EDOM 参数: 

EDOM 宏不带任何参数。参数超出域意味着,考虑当我们要求一个负数的平方根时的情况。

 

EDOM 返回值

宏 EDOM 不返回任何值,它扩展为一个非零整数常量,其值是实现定义的。


 

EDOM 示例

示例 1:C 语言中 EDOM 函数的工作原理?


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

int main () {
   double value;

   errno = 0;
   value = sqrt(-10);
   
   if(errno == EDOM) {
      printf("Value is Invalid  \n");
   } else {
      printf("Value is valid \n");
   }
   
   errno = 0;
   value = sqrt(10);
   
   if(errno == EDOM) {
      printf("Value is Invalid\n");
   } else {
      printf("Value is valid\n");
   }
   
   return(0);
}

输出


Value is Invalid
Value is valid