assert单词是断言的意思,assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行。
函数原型为void assert(int expression);
意思就是计算表达式expression,如果其值为假,那么它先向stderr打印一条出错信息,然后通过调用abort来终止程序运行。
例如:
int divide(int a,int b)
{
assert(b != 0);
return a / b;
}
注意在用assert函数时,每一个assert只检验一个条件,因为同时检验多个条件时,如果断言失败,无法直观的判断是哪个条件失败。
例如:
assert(i >= 0 && i < N);
改为:
assert(i >= 0);
assert(i < N);