C语言和C++中的assert功能及其使用方法
发布时间
阅读量:
阅读量
断言assert原型解析
void assert(int expression);
assert宏的定义原型位于头文件<assert.h>中,其功能是首先对表达式expression进行求值,若结果为假(即等于0),则会向标准错误输出流stderr输出相应的错误提示信息,并通过调用abort函数来中止程序运行;
采用assert宏的弊端在于,过度使用将对程序运行效率造成较大影响,带来额外的资源消耗。
当调试工作完成后,可通过在包含#include语句之前添加#define NDEBUG指令的方式,来关闭assert宏的调用功能,具体示例代码如下:
1 #include
2 #define NDEBUG
3 #include
断言assert使用规则解析
#include <stdio.h>
#include <assert.h>
int main(void)
{
int i;
i = 1;
assert(i++);
printf(“%d\n”,i);
return 0;
}
观察程序执行后的输出结果可知,当初始值i被设定为1时,其运行结果是正确的,具体示例如下图所示。
![]
全部评论 (0)
还没有任何评论哟~
