庫:assert.h
庫裏的函數:void assert(int expression)
使用:如果expression爲0,即false,輸出顯示錯誤信息,顯示的消息的細節取決於特定的庫實現,但它至少應包括:斷言失敗的表達式,源文件的名稱以及發生它的行號
例子:
/* assert example */
#include <stdio.h> /* printf */
#include <assert.h> /* assert */
void print_number(int* myInt)
{
assert (myInt!=NULL);//line 7
printf ("%d\n",*myInt);
}
int main ()
{
int a=10;
int * b = NULL;
int * c = NULL;
b=&a;
print_number (b);
print_number (c);
return 0;
}
結果輸出:10
Assertion failed!
Program: C:\Users\longl\Documents\assert.exe
File: C:\Users\longl\Documents\庫函數使用assert.cpp, Line 7
Expression: myInt!=NULL
例子解釋:在這個例子中, assert如果用於中止程序執行 print_number使用空指針作爲參數調用。這發生在第二次調用函數時,它會觸發斷言失敗以發出錯誤信號。