last modified: 2010-05-28

C语言标准库 - assert.h

6 诊断<assert.h>

6.1 assert

#include <assert.h>
void assert(int exp);

assert宏用于为程序增加诊断功能。当assert(exp)执行时,如果exp为0,则在标准出错输出流stderr输出一条如下所示的信息:

Assertion failed: expression, file filename, line nnn

然后调用abort终止执行。其中的源文件名filename和行号nnn来自于预处理宏__FILE__和__LINE__。

如果<assert.h>被包含时定义了宏NDEBUG,那么宏assert被忽略。