C语言:3个学生4门课,计算各同学平均分和各门课的平均分

这个程序调了好久,第一个学生的平均成绩明显不对,但又找不出哪里错了,求指点!
#include<stdio.h>float score[3][4]={{100,98,96,94},{90,88,86,84},{80,78,76,74}};//每一行为一个同学的成绩
void main(){ void aver_stu(float score[][4],float avers[]); void aver_cla(float score[][4],float averc[]); int i; float aver1[3],aver2[3]; aver_stu(score,aver1); aver_cla(score,aver2); printf("学生的平均成绩分别为\n"); for(i=0;i<3;i++) { printf("%f\n",aver1[i]); } printf("课程的平均成绩分别为\n"); for(i=0;i<4;i++) { printf("%f\n",aver2[i]); } }
void aver_stu(float score[][4],float avers[])//计算每位同学各门课的平均分(对行求平均){ int i; for(i=0;i<3;i++) { avers[i]=(score[i][0]+score[i][1]+score[i][2]+score[i][3])/4; }}
void aver_cla(float score[][4],float averc[])//计算每位门课各个同学的平均分(对列求平均){ int j; for(j=0;j<4;j++) { averc[j]=(score[0][j]+score[1][j]+score[2][j])/3; }}

float aver1[3],aver2[4];//-----四门课,所以要定义数组为四个浮点数据空间,aver2数组定义小了追问

这就对了!
但是aver2这个数组是用来计算课程的平均成绩的,为啥会对计算每位同学各门课的平均分有影响?

追答

这是数组越界之后产生的问题!

温馨提示:答案为网友推荐,仅供参考