函数声明:
void assert(int expression);
使用事项:
这就是常说的断言函数,用法就是在调试过程中debug错误的一种方式
断言是一种编程术语,可以理解为布尔类型(真或假)
assert会对形参进行检查:
如果expression是真的(对应值为1),则断言成功,表示程序正确,不进行任何操作
如果expression是假的(对应值为0),则表明程序错误,这是assert会向终端打印一条错误,并调用abort()函数终止代码运行
实例分析:
#include
#include
int main()
{
int a;
char str[50];
printf("请输入一个整数值: ");
scanf("%d", &a);
assert(a >= 10); //如果条件表达式为假,则报错
printf("输入的整数是: %d\n", a);
printf("请输入字符串: ");
scanf("%s", str);
assert(str != NULL);
printf("输入的字符串是: %s\n", str);
return(0);
}
/*
测试结果:
满足条件:
请输入一个整数值: 11
输入的整数是: 11
请输入字符串: nice
输入的字符串是: nice
异常测试:
请输入一个整数值: 5
a.out: test.c:11: main: Assertion `a >= 10' failed.
已放弃 (核心已转储)
*/