数组名做参数问题???????

来源:百度知道 编辑:UC知道 时间:2024/05/30 17:21:01
题目:有a个学生,每个学生学b门课,已知所有学生的各门课的成绩,求每个学生的平均成绩

课程1 课程2
学生1 89 88
学生2 99 87

void stud_ave(int a ,int b,float score[])
{/*求每个学生平均成绩并输出的函数 */}

#define a 2
#define b 2
main(){
void stud_ave(int x,int y,float score[]);
float score[a][b]={{89,88},{99,87}};
stud_ave(a,b,score);//请问这里为什么不是score[0]?因为实
} 参中score是2维数组,形参中score是
一维数组,为的是使两者匹配

void stud_ave(int x,int y,float score[]);
没见过调用函数调用得这么叼的。
因为float score[]这个是指针。

void stud_ave(int a ,int b,float score[])
其中的float score[]其实传进去的是一个指针数组,换句话说就相当与2维指针:

float score[a][b]={{89,88},{99,87}};
stud_ave(a,b,score);//请问这里为什么不是score[0]?因为实参中score是2维数组,形参中score是一维数组,为的是使两者匹配

所以在stud_ave(a,b,score);这里当然要传2维指针进去,就是score而不是score[0]了,score[0]是一维的指针