- 背景
- assert()函数经常被忽略,用于Debug版本的,检查不应该发生的情况,在运行过程中,如果 assert 的参数为假,那么程序就会中止.
assert为一个宏,而不是函数.
介绍
assert()函数常用情况:
1.对非法错误进行assert()处理.
非法错误与错误情况是有区别的,错误情况一定发生,非法情况是不应该发生但是发生了.
2.对函数传入参数进行确认.头文件
#include <assert.h>
- 应用示例
#include <stdio.h>
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
int main( void )
{
FILE *fp;
fp = fopen( "test.txt", "w" );
assert( fp ); //没有此文件,自动生成.不会产生错误
fclose( fp );
fp = fopen( "notest.txt", "r" );
assert( fp );//error,不存在此文件.
fclose( fp );
return 0;
}
- 使用时避免以下情况
1.只对一个参数进行断言,对多个参数断言无法确定是具体是哪一个.
asser(k<10 && temvalue>10)
2.书写上与其它代码错开空行,使代码更清晰
- 参考
http://www.cnblogs.com/ggzss/archive/2011/08/18/2145017.html