这段代码 怎么可能有错呢?????

mcseychann mcseychann 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <stdio.h>
#include <string.h>
main()
{
FILE *f;
char ch;
char sqlcom[255];
if(f=fopen("sqlfile","r+")==NULL )
{
printf("sqlfile文件不存在\n");
exit(1);
}
else
{ ch=fgetc(f);
if (ch!=EOF)
{
putchar(ch);
ch=fgetc(f);
}
}
fclose(f);
}

很简单的文件打开嘛(本人只是为了测试,因为在我另外一项目程序中文件操作也 tmd老出错,,闷)
编译的时候 提示警告:
fu.c: In function `main':
fu.c:8: warning: assignment makes pointer from integer without a cast

忽略( 也请高手帮看看)
运行./fu
报错: Segmentation fault (@#$#!%$,,闷,有好多个次程序都报此错,苦闷求助)

gdb 单步调试, 发现是执行到 ch=fgetc(f); 时出错了:
Program received signal SIGSEGV, Segmentation fault.
0x400957bf in getc () from /lib/libc.so.6


高手呀,,请花点时间指点迷津好吗,


...全文
评论 9
收藏 已收藏
分享
返回顶部
mcseychann
C语言 70,039 成员 243,237 内容