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

ERANGE宏


概要:

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


描述:

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

一种类型可以表示的值域范围是有限的,一些数学函数(例如:powexp等)的返回值很容易超出这种限制,这种情况下宏errno将被设置为ERANGE


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

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

int main(void)
{
    double result;

    errno = 0;
    result = exp(10000.0);
    if(errno == ERANGE)
        puts("Error:Out of range.");

    return 0;
}


输出:

Error:Out of range.

在这个例子中,exp(10000.0)函数的返回值已超出double类型所能表示的范围。


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