Advertisement

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)

还没有任何评论哟~