c语言标准库详解(十):诊断函数<assert.h>
概述
<assert.h>中只有一个assert宏。
assert宏用于为程序增加诊断功能,形式如下:
void assert(int expression)
如果执行语句
assert(expression)
时,表达式的值为0,则assert宏将在stderr中打印一条消息,比如:
Assertion failed:表达式,file 源文件名,line 行号
打印消息后,该宏将调用abort终止程序的执行。其中的源文件和行号来自于预处理器宏__FILE__以及__LINE__。
如果定义了宏NDEBUG,同时又包含了头文件<assert.h>,则assert宏将被忽略。
示例
代码
#include <assert.h>
#include <stdio.h>
int main()
{
int a;
char str[50]