int i = 0;
assert(i == 0);
printf("hello_world\n");
當括號中的表示式為true時,程式繼續執行下一條語句。
當括號中的表示式為false,程式將直接終止執行,並輸出相應資訊,如終止所在行等。
assert函式一般用在**除錯,在程式真正執行時並不希望總是出現程式異常終止的現象。
#define ndebug
#include
這兩條語句結合使用即可取消assert的終止,而不需要注釋掉**。
#undef ndebug
#include
在使用2中的**取消assert的作用後,可以使用上面的**恢復其功能。
這兩條語句只對其後面的assert有效果,對前面的無效。
#define ndebug
#include
#include
void func1()
#undef ndebug
#include
void func2()
int main(int argc,char *argv)
C標頭檔案assert h使用與實現
作用 提供斷言assert巨集,用於除錯。引用ndebug巨集,以更方便地使用assert巨集。用法 使用斷言 undef ndebug include關閉斷言 define ndebug include assert exp exp為真,程式繼續執行。否則,程式終止。技巧 標頭檔案並不具有冪等性。...
C 語言 assert h 庫 筆記
assert.h中,就只定義了乙個用來除錯的巨集assert。1.ndebug巨集,用來表示是否是debug狀態,當該巨集定義時,assert的巨集被定義為 define assert ignore void 0 void 0 是空語句,不會產生任何 寫成這種形式的原因是,比如乙個 assert 0...
assert h標頭檔案之斷言
在現實世界中,我們腦袋時刻都在判斷對與錯,對的事情我們會繼續深入下去,而錯的事情我們會馬上停止,那麼在程式設計開發中我們如何賦予程式這種判斷事物對錯的能力呢?其中乙個方案就可以使用斷言assert,我們最常用的地方就是在函式中檢查形參的資料合法性。1 函式所屬標頭檔案 assert.h 2 函式原型...