#include
int main(){
void average(float (*p_ave),int n);
int i,j,(*p)[4];
float score[3][4];
printf("please enter their score:");
for(i=0;i<3;i++){
for(j=0;j<4;j++){
scanf("%d",&score[i][j]);
}
}
average(*score,12);
return 0;
}
void average(float (*p_ave),int n){
float *p_end;
float sum = 0,aver;
p_end = p_ave+n-1;
for(;p_ave<=p_end;p_ave++)
sum = sum+(*p_ave);
printf("%f",sum);
return;
}
输出以后sum是零,不管我输入什么数值,出来的结果都是零。是我没有把score中的数据传到average函数里面吗?求解答 感激不尽!
自己发现问题了,是scanf里的%f,应该改为%d.谢谢大家的帮助~~~
average函数没有声明,所以average函数没有被调用。应该先声明
你定义的*p_ave和* p_end都是指针类型,而n是float型,这两种类型不能进行计算
你定义的*p_ave和* p_end都是指针类型,而n是float型,这两种类型不能进行计算