- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - EDOM 宏
C 库的EDOM宏表示域错误,如果输入参数超出数学函数定义的域,则会发生此错误,并且errno被设置为EDOM。
程序员可以在调用此类函数后检查errno以处理域错误。
语法
以下是C库中EDOM宏的语法:
#define EDOM some_value
参数
- EDOM是宏,因此它不接受任何参数。
返回值
- 此函数不返回任何值。
示例 1
以下是C库程序,用于演示EDOM宏。
#include <stdio.h> #include <errno.h> #include <math.h> int main () { double val; errno = 0; val = sqrt(-10); if(errno == EDOM) { printf("Invalid value \n"); } else { printf("Valid value\n"); } errno = 0; val = sqrt(10); if(errno == EDOM) { printf("Invalid value\n"); } else { printf("Valid value\n"); } return(0); }
输出
执行以上代码后,我们将得到以下结果:
Invalid value Valid value
示例 2
在此程序中,我们使用asin()函数计算输入值的反正弦。
#include <stdio.h> #include <math.h> #include <errno.h> int main() { double invalid_value = 2.0; double result = asin(invalid_value); if (errno == EDOM) { printf("Arcsine of %f is not defined.\n", invalid_value); } else { printf("Arcsine of %f = %f radians\n", invalid_value, result); } return 0; }
输出
执行以上代码后,我们将得到以下结果:
Arcsine of 2.000000 is not defined.
广告