分类: 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