C庫巨集 void assert(int expression) 允許被寫入標準錯誤檔案的診斷資訊。換句話說,在C程式可以用來診斷程式。
以下是宣告assert()巨集。
void assert(int expression);
expression -- 這可以是一個變數或任何C表示式。如果expression 計算結果為TRUE,assert()什麼都不做。如果表示式計算為false時,assert() 顯示stderr和中止執行程式上的錯誤資訊。
此巨集不會返回任何值。
下面的例子顯示使用assert() 巨集
#include <assert.h> #include <stdio.h> int main() { int a; char str[50]; printf("Enter an integer value: "); scanf("%d ", &a); assert(a >= 10); printf("Integer entered is %d ", a); printf("Enter string: "); scanf("%s ", &str); assert(str != NULL); printf("String entered is: %s ", str); return(0); }
讓我們編譯並執行上述程式在互動模式,如下圖所示:
Enter an integer value: 11 Integer entered is 11 Enter string: yiibai String entered is: yiibai