C语言 main() {int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,j,k=0;

main(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,j,k=0;for(i=0;i<3;i++)... main()
{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,j,k=0;
for(i=0;i<3;i++)
for(j=0;j<2;j++) k+=*(*(p+i)+j);
printf("%d\n",k);
}
程序输出结果
详细说明
展开
 我来答
oycs2003
推荐于2018-04-12 · TA获得超过2147个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:760万
展开全部
先说说i,j的值
i=0.j=0
i=0,j=1
i=1,j=0
i=1,j=1

第一组:
k=k+*(*(p+i)+j)
第二组:
k=k+*(*(p+i)+j) 注意k的值已变化
第三组:
k=k+*(*(p+i)+j) 注意k的值已变化
第四组:
k=k+*(*(p+i)+j) 注意k的值已变化

一时忘记怎么算(*p)[4]=a,i,j,k=0; 这个了

套用一下就可以了
dskhxh
2009-08-20
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
定义的是一个二维数组,(*p)[4]=a表示将这个二维数组的首地址即&a[0][0]赋给(*p)[4],初始化时这里(*p)其实相当于&a[0],若*(p+i)则相当于a[i]
*(*(p+i)+ j)就相当于a[i][j],两个for循环就是执行1+3+9+11+17+19=60
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HarrySummer
2009-08-20 · TA获得超过680个赞
知道小有建树答主
回答量:650
采纳率:0%
帮助的人:581万
展开全部
结果:60
p是一个指向一维数组的指针,循环的作用是将二维数组
1 3 5 7
9 11 13 15
17 19 21 23
的前两列累加

p+i是对行进行移动,每次移动4个int的存储空间
*(p+i)+j是对列进行移动,每次移动1个int的存储空间

*(*(p+i)+j)就相当于a[i][j]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sr19930127
2009-08-20
知道答主
回答量:59
采纳率:0%
帮助的人:20.6万
展开全部
i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式