C语言这题怎么搞?
//这是一个填充题,要求就是用指针对二维数组求和#include"stdio.h"intsumarray(int*p[],intm);//*p[]是指针数组,用于传递二维...
//这是一个填充题,要求就是用指针对二维数组求和#include"stdio.h"int sumarray(int *p[],int m); //*p[]是指针数组,用于传递二维数组的内容,m表示列数 //p是元素指针,用于传递二维数组n表示行数,m表示列数void initarray(int *p,int n,int m); main(){ int a[3][4],r,i; int *p[3]; initarray(&a[0][0],3,4); for(i=0;i<3;i++) p[i]=@#1 //指针数组p的每个单元格都指向二维数组的每一行的第一个单元格 r=sumarray(@#2); printf("%d\n",r);}@@1@@1
展开
2个回答
展开全部
#include<stdio.h>
int sumarray(int *p[],int m);
void initarray(int *p,int n,int m);
main()
{
int a[3][4],r,i;
int *p[3];
initarray(&a[0][0],3,4);
for(i=0;i<3;i++)
p[i]=&a[i][0];//@#1
r=sumarray(p,4);//@#2
printf("%d\n",r);
}
void initarray(int *p,int n,int m)
{
int cnt=n*m;
while(cnt--)
{
scanf("%d",p++);
}
}
int sumarray(int *p[],int m)
{
int i,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<m;j++)
sum+=p[i][j];
return sum;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询