请教各位大佬 一个关于文件操作的问题
#include<stdio.h>#include<stdlib.h>
#define N 3
struct student
{
int no;
char name[20];
char sex;
int age;
float score;
}stu[N],*st;
void enter()
{
int i;
void menu();
void save();
printf("请输入学生信息:\n");
printf("no\tname\tsex\tage\tscore\n");
for(i=0;i<N;i++)
{
scanf("%d-%s-%c-%d-%lf",&stu[i].no,&stu[i].name,&stu[i].sex,&stu[i].age,&stu[i].score);
}
if(N!=0)
save(N);
getchar();
getchar();
menu();
}
void save()
{
int i;
FILE *fp;
if(!(fp = fopen("student-heng","wb")))
{
printf("Cannot open student-heng!\n");
exit(0);
}
for(i=0;i<N;i++)
{
fwrite(&stu[i],sizeof(struct student),1,fp);
}
fclose(fp);
}
void load()
{
FILE *fp;
int i;
if(!(fopen("student-heng","rb")))
{
printf("Cannot open student-heng!\n");
exit(0);
}
for(i=0;i<N;i++)
{
fread(&stu[i],sizeof(struct student),1,fp);
return 0;
}
fclose(fp);
}
void menu()
{
while(1)
{
int x;
printf("------------操作选项-------------\n");
printf("1:返回菜单\n");
printf("2:读入数据\n");
printf("3:查找数据\n");
printf("4:结束程序\n");
printf("---------------------------------\n");
printf("选择操作:",x);
scanf("%d",&x);
if(x==4)
break;
switch(x)
{
case 1:
break;
case 2:
enter();
break;
case 3:
load();
break;
default:
printf("操作不正确");
break;
}
}
}
int main()
{
menu();
return 0;
}
为什么执行 操作三load()操作的时候显示 "10.exe已停止工作",请大神指教