跳转到内容

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 的值重新定义。

华夏公益教科书