跳轉到內容

C 程式設計/assert.h/assert

來自華夏公益教科書,自由的教科書
void assert(expression);

返回值

[編輯 | 編輯原始碼]

assert 宏返回一個 void,也就是說,沒有值。

assert 宏的行為取決於 NDEBUG 宏的值。有關詳細資訊,請參見 assert.h

如果定義了 NDEBUG,則無論引數如何,assert 宏都定義為

 #define assert(expression)        ((void) 0)

如果未定義 NDEBUG,則 assert 宏充當診斷測試。如果宏的 表示式 引數為假(請參見 C 程式設計/控制),則宏擴充套件為一個語句,該語句將引數的文字、當前檔名、行號和函式名寫入標準錯誤流。最後,assert 宏呼叫 abort() 函式。

每次包含 assert.h 標頭檔案時,都會根據 NDEBUG 的值重新定義 assert 宏。

華夏公益教科書