Chinaunix首页 | 论坛 | 博客
  • 博客访问: 382994
  • 博文数量: 48
  • 博客积分: 743
  • 博客等级: 上士
  • 技术积分: 956
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-22 13:51
文章分类

全部博文(48)

文章存档

2015年(3)

2014年(17)

2012年(23)

2011年(5)

分类: C/C++

2014-01-09 11:39:59

函数原型:

#include  
void assert( int expression );

参数:

输入:expression断言表达式 
输出:无

返回值

函数功能说明:

  assert的作用是计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。多用于调试程序用(对于有的实现会在程序断言失败后产生core文件)。
	
	
例:


#include 
#include 
#include  
int main( void )
{
        FILE *fp;
    
        fp = fopen( "test.txt", "w" );          //以可写的方式打开一个文件,如果不存在就创建一个同名文件  
        assert( fp );                          //所以这里不会出错 
         fclose( fp );
        fp = fopen( "noexitfile.txt", "r" );    //以只读的方式打开一个文件,如果不存在就打开文件失败  
        assert( fp );                           //所以这里出错  
        fclose( fp );                          //程序永远都执行不到这里来  
        return 0;
}

注:在调试结束后,可以通过在包含#include 的语句之前插入 #define NDEBUG 来禁用assert调用 
#include  
#define NDEBUG
#include 
阅读(1168) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~