C庫宏 void assert(int expression) 允許被寫入標準錯誤文件的診斷信息。換句話說,在C程序可以用來診斷程序。
以下是聲明assert()宏。
void assert(int expression);
expression -- 這可以是一個變量或任何C表達式。如果expression 計算結果為TRUE,assert()什么都不做。如果表達式計算為false時,assert() 顯示stderr和中止執(zhí)行程序上的錯誤信息。
此宏不會返回任何值。
下面的例子顯示使用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