- 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 程式設計資源
- 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.
廣告