- 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 庫 - assert() 宏
C 的assert庫的assert()宏用於錯誤處理,以檢查程式執行時做出的任何假設是否正確。它用於在開發階段本身捕獲程式中的邏輯錯誤。
語法
以下是assert()宏的 C 庫語法 -
void assert(int expression);
引數
此宏接受一個引數 -
表示式 - 它是一個條件語句,其結果為真或假。如果表示式的結果為假 (0),則 assert() 函式會觸發斷言失敗,導致程式終止。
返回值
此宏不返回值。如果斷言失敗(表示式結果為假),它會觸發錯誤訊息並中止程式執行。
示例 1:檢查簡單表示式
在此示例中,assert() 檢查變數 x 是否等於 5。如果條件為真,則程式成功執行並列印“斷言透過!”。如果它不為真,則程式將中止並列印診斷訊息。
#include <stdio.h>
#include <assert.h>
int main() {
int x = 5;
assert(x == 5);
printf("Assertion passed!\n");
return 0;
}
輸出
以上程式碼產生以下結果 -
Assertion passed!
示例 2:檢查邏輯表示式
在此示例中,assert() 檢查變數 a 和 b 的和是否大於 5。由於總和等於 8,大於 5,因此條件為真。但是,如果條件結果為假,則會顯示錯誤訊息。
#include <stdio.h>
#include <assert.h>
int main() {
int a = 5, b = 3;
assert((a + b) > 5 && "Sum is not greater than 5");
printf("Assertion passed!\n");
return 0;
}
輸出
以上程式碼產生以下結果 -
Assertion passed!
廣告