c语言题目:已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,1

c语言题目:已知有声明"inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数... c语言题目:已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是____ 。
A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3]
展开
 我来答
antimoth
2013-12-22 · 超过36用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:69.5万
展开全部
a是一个二维数组,可以看成元素是一维数组的一维数组。用数组名表示数组是表示的数组的首地址,数组的步进是以其元素作为参照的。a作为二维数组,那么a+2步进以一维数组整个数组做参考,所以就移到了{9,10,11,12}这个一维数组的首地址这儿来,然后对它取*就相当于成了一维数组,一维数组以元素int做参考,步进3就移到步进3移到的是12的地址上。所以a的值是12的地址,b就正确了。
二维数组只带一个下标认为是组下标,故而a[2]是指向了{9,10,11,12}这个一维数组,一维数组步进以int作为标准,+3移到了12的地址上,取*就得到了12的值。
D a[2][3],第一个组下标,第二个组内下标,取得的肯定是12.
White_MouseYBZ
2013-12-22 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6653万
展开全部
错误的是A。它不是元素值,而是元素地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nlk520zh
2013-12-22 · TA获得超过729个赞
知道小有建树答主
回答量:414
采纳率:100%
帮助的人:446万
展开全部
A是错误的,A选项是指向a[2][3]的指针,其他的都是a[2][3]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寒雁36
2013-12-22
知道答主
回答量:1
采纳率:0%
帮助的人:1426
展开全部
B
追问
为什么?
追答
因为B算出来是*12也就是12的地址,其它的算出来都是12
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式