诊断<assert.h>
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被忽略。