跳轉到內容

C 程式設計/assert.h/函式參考

來自華夏公益教科書


void assert(expression);

返回值

[編輯 | 編輯原始碼]

assert 宏返回 void 沒有值。

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

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

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

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

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

華夏公益教科書