示例错误代码
#include<stdio.h>
float average(float arry[10])
{
int i;
float sum;
sum=arry[0];
for (i=1;i<=10;i++)
{
sum+=arry[i];
}
return (sum/10);
}
int main()
{
int i;
float arry[10],aver;
for (i=1;i<=10;i++)
{
scanf("%f",&arry[i]);
}
aver=average (arry[10]); //这里出现错误
printf("十位同学的平均成绩为%f",aver);
}
原因分析:我们向aver 传递的只是一个数组元素arry[10],而average针对的是一整个数组,所以应该为arry.
正确代码
#include<stdio.h>
float average(float arry[10])
{
int i;
float sum;
sum=arry[0];
for (i=1;i<=10;i++)
{
sum+=arry[i];
}
return (sum/10);
}
int main()
{
int i;
float arry[10],aver;
for (i=1;i<=10;i++)
{
scanf("%f",&arry[i]);
}
aver=average (arry);
printf("十位同学的平均成绩为%f",aver);
}