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