编写程序,利用二级指针求5*3数组元素之和

编写程序,利用二级指针求5*3数组元素之和。
(1)程序:
1)编译如下程序:
#include<stdio.h>
int main()
{
inta[5][3]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
int(*p)[3];
inti,j,s;
for(i=0;i<5;i++)
{
p=&a[i];
s=0;
for (j=0;j<3;j++)
s+=*(*p+j);
printf("sum of line %d=%d\n",i,s);

}
return 0;
}
为什么运行不了?int (*p)[3]和 p=&a[i]错误代码,但是哪里出错了?int (*p)[3]、 p=&a[i]、 s+=*(*p+j)什么意思,为什么要写这三个?int(*p)[3]中的p是一个指向数组的指针,此数组有3个int类型的元素

int a[5][3]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
这一行少了一个分号
加上就好了
#include<stdio.h>
int main()
{
int a[5][3]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int (*p)[3];
int i,j,s;
for(i=0;i<5;i++)
{
p=&a[i];
s=0;
for (j=0;j<3;j++)
s+=*(*p+j);
printf("sum of line %d=%d\n",i,s);

}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答