ASSERT()的作用

 

1.使用断言 

assert()宏是用于保证满足某个特定条件,用法是:

assert(表达式);

如果表达式的值为假,整个程序将退出,并输出一条错误信息。如果表达式的值为真则继续执行后面的语句。

使用这个宏前需要包含头文件assert.h

例如

#include <stdio.h>
#include <assert.h>

void main()
{
float a,b;
scan("%f %f",&a,&b);
assert(b!=0);
printf("%f\n",a/b);
}

以上的程序要计算A/B的值,因此要求b!=0,所以在程序中使用了assert()用于确保b!=0,如果b==0,则程序会退出。

 

2.ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序: 
    ...... 
    ASSERT( n != 0); 
    k = 10/ n; 
    ...... 
    ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。 
    assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。

posted @ 2013-05-27 09:55  august_shi  阅读(151)  评论(0)    收藏  举报