当前位置: C语言 -- 标准库 -- <errno.h> -- EDOM

EDOM宏


概要:

#define EDOM value //value值由具体实现定义。


描述:

EDOMdomain error)表示发生了域错误;该宏会扩展为一个int类型的正值常量表达式。

一些数学函数仅对特定的值有效,这些值称为函数的域。如果函数的参数不在函数定义的域中,将发生域错误,例如:sqrt函数仅对非负数有效;当sqrt函数的参数为负数时,将发生域错误。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
/*宏EDOM范例*/

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

int main(void)
{
    double result;

    errno = 0;
    result = asin(5);
    if(errno == EDOM)
        puts("Error:Out of domain.");

    return 0;
}


输出:

Error:Out of domain.

在这个例子中,asin函数参数取值范围为[-1,+1]5不在这个范围内,所以发生了域错误。


相关内容:
EILSEQ 非法字节序列。
ERANGE 范围错误。
errno 最近一次错误编号。