读书人

请教断言异常是什么意思

发布时间: 2012-02-03 22:02:47 作者: rapoo

请问断言错误是什么意思?
我在用函数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 编译不通过.减少出错概率.

呵呵

读书人网 >C语言

热点推荐