首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教断言异常是什么意思

2012-02-03 
请问断言错误是什么意思?我在用函数fgets()读取文件运行时显示 assertionfailure 是什么意思呢,如何解决

请问断言错误是什么意思?
我在用函数fgets()读取文件运行时显示 "assertion   failure "是什么意思呢,如何解决?

原程序如下:

#include <stdio.h>  
#include <stdlib.h>  
void   main()  
{  
char   s[24];  


FILE   *fp;  
fp=fopen( "d:\\bak_ex\\test.dat ",   "r ");       /*打开文字文件只读*/  
if(fp=NULL)  
{  
puts( "File   open   eror ");  
exit(0);  
}  
fgets(s,   24,   fp);         /*从文件中读取23个字符*/  
printf( "%s ",   s);                     /*输出所读的字符串*/  
fclose(fp);                         /*关闭文件*/  

}


[解决办法]
if(fp==NULL)
{
...
}

不是

if(fp=NULL)
{
...
}
[解决办法]
fp == NULL

最好写成 NULL == fp 这样的话,如果写成了NULL = fp 编译不通过.减少出错概率.

呵呵

热点排行