位置:首頁 > 高級語言 > C語言標準庫 > C函數庫宏 assert()

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