C/C++庫函數使用———assert.h

庫: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使用空指針作爲參數調用。這發生在第二次調用函數時,它會觸發斷言失敗以發出錯誤信號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章