assert,中文意思是断言,在C语言中是一种宏,不是函数,常用于调试,含于头文件<assert.h>中。使用语法:assert(judgement),括号内加入判断表达,表明此处断言表达式成立。若事实上成立的话,则断言为真,程序照常运行。若事实上表达式不成立,断言失败,则程序崩溃,无法正常运行。若要禁用断言,使其无效,需在#include<assert.h>前加上#define NDEBUG 。这样断言语句即使未被删除,效果等同于被注释掉了一样。
#include<stdio.h>
#define NDEBUG //必须放在assert.h之前才有效 这样会忽略所有的断言
#include<assert.h>
int main()
{
int a=2;
assert(a!=2);//此处断言a不等于2 如果断言错误,程序崩溃
printf("Normal!\n");
return 0;
}