qq_43323545 2018-10-26 14:59 采纳率: 50%
浏览 383

关于指针的问题,在最后一个函数里,这样用的话为什么无法输出正确的值?求大佬解答

#include
#define size 30
#define size1 5
void Total(int (*pa)[5],int sum[],float average[],int m,int n);
void Print(int *pa,int sum[],float average[],int m,int n);

int main()
{
int n;
int a[size][size1];
int sum[size];
float average[size];
int m;
int i;
int j;
do
{
printf("how many students:");
scanf("%d",&m);
printf("how many course:");
scanf("%d",&n);
}while(m<=0||m>30||n<=0||n>5);
printf("input score:\n");
for(i=0;i<=m-1;i++)
{
for(j=0;j<=n-1;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<=m-1;i++)
for(j=0;j<=n-1;j++)
printf("%5d",a[i][j]);

Total(a,sum,average,m,n);
Print(*a,sum,average,m,n);
return 0;

}

void Total(int (*pa)[5],int sum[],float average[],int m,int n)
{
int i,j;
for(i=0;i<=m-1;i++)
{
sum[i]=0;

    for(j=0;j<=n-1;j++)
    {
        sum[i]+=pa[i][j];
        printf("%5d ",pa[i][j]);
    }
    printf("%5d",sum[i]);
    average[i]=(float)sum[i]/n;
}
return ;

}

void Print(int *pa,intrf sum[],float average[],int m,int n)
{
int i;
int j;
printf("result:\n");
for(i=0;i<=m-1;i++)
{
for(j=0;j<=n-1;j++)
{
printf("%4d\t",pa[i*n+j]);
}
printf("%5d\t%6f\t\n",sum[i],average[i]);
}
return ;
}

  • 写回答

1条回答

  • threenewbee 2018-10-26 15:54
    关注
     void Total(int (*pa)[5],int sum[],float average[],int m,int n)
    这里(*pa)[5]换成 **pa
    
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧