跳转到内容

C 编程/assert.h/assert

来自维基教科书,开放的书籍,开放的世界
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 的值重新定义。

华夏公益教科书