qq_32060049
32060049
采纳率94.4%
2015-11-03 06:02

C语言指针数组问题求解答

已采纳

#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函数里面吗?求解答 感激不尽!
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • qq_32060049 32060049 6年前

    自己发现问题了,是scanf里的%f,应该改为%d.谢谢大家的帮助~~~

    点赞 评论 复制链接分享
  • qq_32525257 qq_32525257 6年前

    你定义的*p_ave和* p_end都是指针类型,而n是float型,这两种类型不能进行计算

    点赞 评论 复制链接分享
  • qq_32525257 qq_32525257 6年前

    你定义的*p_ave和* p_end都是指针类型,而n是float型,这两种类型不能进行计算

    点赞 评论 复制链接分享
  • qq_23068621 红狼512 6年前

    average函数没有声明,所以average函数没有被调用。应该先声明

    点赞 评论 复制链接分享

相关推荐