还是文件操作问题!(一直掌握不太好)
程序代码:
#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!请谁有空看一下!不盛感激