写的程序弹出系统错误。。请高手帮忙看看什么问题。。。
题目为输入5个学生的学号,姓名,成绩(成绩有三个),并计算出成绩的平均值,然后打印到一个“stud.txt”的文件内。程序如下,能通过。也能正常输入学生信息。。。但是杯具的是在输入完信息时,系统弹出错误“unhandled exception in studengr.exe:0XC0000005:access violation”
#include"stdio.h"
struct data{float s1,s2,s3;};
struct student
{long num;
char name[20];
struct data score;
float p;
}stu[4];
void main()
{struct student stu[4];
float a[4];
FILE *fw;
int i,j;
printf("input the student:\n");
for(i=0;i<5;i++){
scanf("%ld,%s,%f,%f,%f",&stu[i].num,&stu[i].name,&stu[i].score.s1,&stu[i].score.s2,&stu[i].score.s3);
a[i]=(stu[i].score.s1+stu[i].score.s2+stu[i].score.s3)/3;
stu[i].p=a[i];}
fw=fopen("stud.txt","w");
for(j=0;j<5;j++)fprintf(fw,"%ld,%s,%.2f,%.2f,%.2f,%.2f\n",stu[i].num,stu[i].name,stu[i].score.s1,stu[i].score.s2,stu[i].score.s3,stu[i].p);
fclose(fw);
}
最后在stdu.txt里面打印出来的:
1245076,?b