有定义: int a[3][3]={1,2,3,4,5,6,8,9,10},则printf("%d",*(*(a+1)+2))语句的输出结果为6这是为什么

*(a+1)不是=a[1][0]=2吗?2+2=4但是外面有个“*”不是很懂,而且怎么算出来6的,求高手... *(a+1)不是=a[1][0]=2吗? 2+2=4 但是外面有个“ * ”不是很懂,而且怎么算出来6的,求高手 展开
 我来答
longofqmc
2017-08-18
知道答主
回答量:21
采纳率:0%
帮助的人:6.8万
展开全部
a是二维数组,则a表示的是指针的指针,
*(a+1)表示的是a[1][0]的地址,
*(*(a+1)+2)表示的是在a[1][0]的地址加2,
再取这个地址上的值也就是6了
有情心里人3488
2014-11-12 · TA获得超过116个赞
知道答主
回答量:180
采纳率:0%
帮助的人:60.3万
展开全部
答案A.
数组定义是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10
A. p += 2使p指向a[2], *(p++)表示先取*p的值, 然后p增加1(指向a[3]), 所以取得的值是a[2]=3
B. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然后取*p的值,所以是a[3]=4
C. p += 3使p指向a[3], *p++表示先取*p的值, 然后p增加1(指向a[4]), 所以取得的值是a[3]=4
D. p += 2使p指向a[2], ++*p对*p的值增加1, 所以取得的值是a[2]=a[2]+1=4

还有一种写法是(*p)++, 表示先取*p的值, 这个值再增加1
请采纳答案,支持我一下。
追问
你回答的什么啊,你知道这是为什么吗为什么是6
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式