a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C > 正文

淺析C語言中assert的用法

2020-01-26 16:00:28
字體:
來源:轉載
供稿:網友

assert宏的原型定義在<assert.h>中,其作用是如果它的條件返回錯誤,則終止程序執行,原型定義:
#include <assert.h>
void assert( int expression );
assert的作用是現計算表達式 expression ,如果其值為假(即為0),那么它先向stderr打印一條出錯信息,
然后通過調用 abort 來終止程序運行。
請看下面的程序清單badptr.c:

復制代碼 代碼如下:

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
int main( void )
{
       FILE *fp;

       fp = fopen( "test.txt", "w" );//以可寫的方式打開一個文件,如果不存在就創建一個同名文件
       assert( fp );                           //所以這里不會出錯
       fclose( fp );

       fp = fopen( "noexitfile.txt", "r" );//以只讀的方式打開一個文件,如果不存在就打開文件失敗
       assert( fp );                           //所以這里出錯
       fclose( fp );                           //程序永遠都執行不到這里來
       return 0;
}

宏名: assert
功 能: 測試一個條件并可能使程序終止
用 法: void assert(int test);
程序例:
復制代碼 代碼如下:

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
struct ITEM {
  int key;
  int value;
};

/* add item to list, make sure list is not null */
void additem(struct ITEM *itemptr) {
  assert(itemptr != NULL);
  /* add item to list */
}

int main(void)
{
  additem(NULL);
  return 0;
}

assert() 宏用法
注意:assert是宏,而不是函數。在C的assert.h頭文件中。
assert宏的原型定義在<assert.h>中,其作用是如果它的條件返回錯誤,則終止程序執行,原型定義:
復制代碼 代碼如下:

#include <assert.h>
void assert( int expression );

assert的作用是先計算表達式expression,如果其值為假(即為0),那么它先向標準錯誤流stderr打印一條出錯信息,然后通過調用abort來終止程序運行;否則,assert()無任何作用。宏assert()一般用于確認程序的正常操作,其中表達式構造無錯時才為真值。完成調試后,不必從源代碼中刪除assert()語句,因為宏NDEBUG有定義時,宏assert()的定義為空。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 日韩大片免费播放 | 一本一本久久a久久精品牛牛影视 | 99re国产| 亚洲777 | 国产免费拔擦拔擦8x高清在线人 | 国产大胆自拍 | 日韩精品第一页 | 在线观看黄色av网站 | 成年免费视频 | 日本在线免费播放 | 视色网站 | 国产精品成人一区二区三区夜夜夜 | 成人免费观看网址 | 一区二区三区 | 伊人日韩| 日韩一级视频 | 干比网 | 99久久99久久精品免费看蜜桃 | 波多野结衣 一区二区 | 九九精品视频在线观看 | 日本小视频网站 | 大胆裸体gogo毛片免费看 | 日韩欧美不卡 | 国产毛片久久久 | 国产精品婷婷午夜在线观看 | 日韩中文一区二区三区 | 91精品国产自产精品男人的天堂 | 天天干天天操天天爽 | 五月婷在线观看 | 日韩视频中文字幕在线观看 | 国产免费av网站 | 精品视频一区二区三区 | 日韩午夜在线观看 | 99精品视频在线免费观看 | 亚洲狠狠爱一区二区三区 | 91亚洲一区| 日韩欧美国产一区二区三区 | 国产精品第一国产精品 | www.9色| 91在线观看视频 | 在线91 |