请求解答,不明白为什么

img

几个问题:
一是if(fp==NULL); 将最后的分号去掉
二是fclose前加else
改为:
if(fp==NULL)
{
printf("失败");
}
else
fclose(fp);
你应该是文件打开失败了

内存溢出。空指针了。

你的源代码和可执行文件已经不一致了,先全部重新编译再说吧
代码一共16行,报错在20行

if(fp == NULL)
{
printf("失败");
return 0;
}

在if (fp == NULL)
{
printf("失败");
return -1;//增加跳出语句
}else{ //或者这里增加 else
fclose(fp);
}
题主代码的问题是,当if(fp==NULL) 条件满足时,fp就是空指针,fclose(fp) 就出错了。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632