库:assert.h
库里的函数:void assert(int expression)
使用:如果expression为0,即false,输出显示错误信息,显示的消息的细节取决于特定的库实现,但它至少应包括:断言失败的表达式,源文件的名称以及发生它的行号
例子:
/* assert example */
#include <stdio.h> /* printf */
#include <assert.h> /* assert */
void print_number(int* myInt)
{
assert (myInt!=NULL);//line 7
printf ("%d\n",*myInt);
}
int main ()
{
int a=10;
int * b = NULL;
int * c = NULL;
b=&a;
print_number (b);
print_number (c);
return 0;
}
结果输出:10
Assertion failed!
Program: C:\Users\longl\Documents\assert.exe
File: C:\Users\longl\Documents\库函数使用assert.cpp, Line 7
Expression: myInt!=NULL
例子解释:在这个例子中, assert如果用于中止程序执行 print_number使用空指针作为参数调用。这发生在第二次调用函数时,它会触发断言失败以发出错误信号。