C函數庫宏 assert()
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