还是文件操作问题!(一直掌握不太好)
程序代码:#include<stdio.h>
#include<stdlib.h>
#define N 5
#define M 3
struct stu
{
char name[10];
int num;
float score[3];
float ave;
}stu[N];
void main()
{
int i,j;
float sum=0.0;
FILE *fp;
printf("请输入N=5个学生的信息:\n");
for(i=0;i<N;i++)
{
printf("请输入第%d个学生的信息:\n",i+1);
printf("name:\n");
scanf("%s",stu[i].name);
printf("NO.:\n");
scanf("%d",&stu[i].num);
for(j=0;j<M;j++)
{
printf("请输入第%d们成绩:\n",j+1);
scanf("%f",&stu[i].score[j]);
sum+=stu[i].score[j];
}
stu[i].ave=sum/M;
}
if((fp=fopen("E:\\stud.txt","wb"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
// fp=fopen("E:\\stud.txt","w");
for(i=0;i<N;i++)
if(fwrite(&stu[i],sizeof(struct stu),1,fp)!=1)
printf("file write error\n");
fclose(fp);
fp=fopen("stud.txt","rb");
for(i=0;i<N;i++)
{
fread(&stu[i],sizeof(struct stu ),1,fp);
printf("\n%s,%d,%.2f,%.2f,%.2f,%.2f\n",stu[i].name,stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].ave);
}
fclose(fp);
}这个程序是处理学生数据的(处理完后就把内容存到指定的盘里)!能正常输入数据!但是一敲回车键是就弹出内存不能为read!请谁有空看一下!不盛感激









