下面的程序在devc++中出现了段错误,可能是非法访问内存,该怎样解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下面的程序在devc++中出现了段错误,可能是非法访问内存,该怎样解决相关的知识,希望对你有一定的参考价值。

void in()

int i,m=0;
char ch[2];
FILE *fp;
if((fp=fopen("data","a+"))==NULL)

printf("系统出错,请与开发人员联系!\n");
return;

while(!feof(fp))

if(fread(&stu[m],sizeof(struct student),1,fp)==1)
m++;

fclose(fp);
if(m==0)
printf("无学生成绩记录!\n");
else

system("cls");
show();

if((fp=fopen("data","a+"))==NULL)

printf("系统出错,请与开发人员联系!\n");
return;

printf("是否录入学生成绩,请按(y/n):");
scanf("%s",ch);
while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)

printf("请输入学生学号:");
scanf("%d",&stu[m].num);
for(i=0;i<m;i++)
if(stu[i].num==stu[m].num)

printf("您输入的学号已经存在!");
getch();
fclose(fp);
return;

printf("请输入学生姓名:");
scanf("%s",&stu[m].name);
printf("c语言:");
scanf("%f",&stu[m].c);
printf("高数:");
scanf("%f",&stu[m].m);
printf("英语:");
scanf("%f",&stu[m].e);
getchar();
stu[m].sum=stu[m].c+stu[m].e+stu[m].m;
if(fwrite(&stu[m],sizeof(struct student),1,fp)!=1)

printf("不能保存,请与开发人员联系!\n");

else

printf("%s成绩录入成功!\n",stu[m].name);
m++;


fclose(fp);

参考技术A 从新换个试试 参考技术B 退出重新进 参考技术C 退出登录就好了 参考技术D 怎么这么洗面奶,你,你谢娜谢娜谢娜谢娜 第5个回答  2019-01-03 退出从新进去

以上是关于下面的程序在devc++中出现了段错误,可能是非法访问内存,该怎样解决的主要内容,如果未能解决你的问题,请参考以下文章

devc结果怎么出现错误了书中是8,5max=8 devc结果是max=32761?

devc++ 如何看输出结果

当我调用jmp时,我在c内联汇编中出现了段错误

java编程中出现的错误“非法字符:\56288”是啥意思?

为啥devc运行和编译可以但是没分

devc的调试框关闭