C语言的问题

#include(stdio.h)main(){inta[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for(i=0;i<4;i++... #include(stdio.h)
main()
{
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;
for(i=0;i<4;i++)
P[i]=&a[i*3];
printf("%d\n,p[3][2]);
}

以上程序的运行结果是12,是怎么得出来的/??请高手帮我讲解一下,我刚入门,很多不懂亚!
展开
 我来答
成弘文WD
2008-01-11 · TA获得超过257个赞
知道小有建树答主
回答量:561
采纳率:0%
帮助的人:359万
展开全部
1,2,3|4,5,6|7,8,9|10,11,12
p[0]p[1]p[2]p[3]
上行是元素,下行是指针。
所以p[3]指向a[9]也就是10的地址
这时就可以把p[3]理解成指向数组[10,11,12],而这个数组的第3个元素也就是p[3][2]当然等于12了。
这么详细应该懂了吧!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小煜娃娃
2008-01-11 · 超过10用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
p[0]存放的是a[0]的位置;
p[1]存放的是a[3]的位置;
...
p[3]存放的是a[9]的位置;

p[3][2]相当于*(p[3]+2)即10+2=12

该题的目的在于让你知道数组在内存的存储方式是连续的内存地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mdqy195905
2008-01-11 · TA获得超过187个赞
知道答主
回答量:157
采纳率:0%
帮助的人:0
展开全部
12/3=4
所以
p[0][0]=1
p[1][0]=4
....
....
p[3][0]=10
所以。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qin198902042
2008-01-11 · TA获得超过143个赞
知道小有建树答主
回答量:624
采纳率:0%
帮助的人:272万
展开全部
上面的人解释的很清楚了,我觉得也是这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游戏小圣
2008-01-11 · 超过22用户采纳过TA的回答
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:106万
展开全部
上面的2位高手 , 答对了,恭喜拉哈哈~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式