问一道C语言的题

麻烦大家帮忙看一下下边这道题,写一下分析的过程(我实在是想不明白这道题了)在C语言中有如下语句:inta[3][2]={1,2,3,4,5,6,},*p[3]p[0]=a... 麻烦大家帮忙看一下下边这道题,写一下分析的过程(我实在是想不明白这道题了)
在C语言中有如下语句:
int a[3][2]={1,2,3,4,5,6,},*p[3]
p[0]=a[1];
则*(p[0]+1)所代表的数组元素是________.(答案:a[1][1])
展开
 我来答
在岸上的鱼love
2011-03-19 · TA获得超过226个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:55.2万
展开全部
int a[3][2]为一个三行两列的元素
1 2
3 4
5 6
*p[3]为指针数组,数组中的每个元素都是整形的指针。
a[1]为指向二维数组第二行首地址的指针
p[0]=a[1],使p[0]也指向数组的第二行的首地址
p[0]+1,移动指针p[0]使之挪动一个单元即指向第二行第二个元素
*(p[0]+1)取出p[0]所指单元的内容即a[1][1]
musie02
2011-03-19 · TA获得超过1385个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:492万
展开全部
p[0]=a[1]这个是行坐标,如果只是*(p[0])即为a[1][0]。可是它+1,+1是找列坐标啊,就变成a[1][1]。
追问
也就是说,这个*(p[0]+1)指的是4,对吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大雪满弓刀杨炯
2011-03-19
知道答主
回答量:63
采纳率:0%
帮助的人:6.3万
展开全部
在2维数组中a[1]的意思就是数组第二行的首地址,将它赋值给指针数组p[0],而p[0]指向行的指针数组,所以p[0]+1就是a[1][1]的地址,所以*(p[0]+1)就是a[1][1]了,还是不明白的话,看看C语言中将指针的那部分,、、、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鼹鼠可可
2011-03-19 · TA获得超过171个赞
知道答主
回答量:106
采纳率:0%
帮助的人:51.6万
展开全部
p[0]=a[1];说明p[0]是指向a[1]的,记录的是a[1]的地址从,那开始,所以是a[1][1])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-19
展开全部
指针数组p的第一个地址指向数组a【1】 则*(p[0]+1)即表示a[1][1])啊 依此*(p[0]+2)表示a[1][2] 这是一种表示方法啊 记住就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
聊庆赫连含烟
2019-11-11 · TA获得超过3669个赞
知道小有建树答主
回答量:3052
采纳率:30%
帮助的人:207万
展开全部
fun
函数中a是静态数据类型static,就是说它初始化后在内存中就有个固定的地址,函数返回后a仍然存在。
每次调用fun函数后a的值都会加2,所以最后的结果就是
246
printf("\n");
//
表示换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式