首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有定义;int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。
若有定义;int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。
admin
2013-02-23
35
问题
若有定义;int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。
选项
A、*(*w+3)
B、*(w+1)[4]
C、*(*(w+1))
D、*(&w[0][0]+1)
答案
2
解析
通过—维数组名或指向维数组元素的指针来引用数组元素有两种写法:a
和*(a+i),它们是等价的。这是一种运算符之间的等价转换,就好像a-(b-C) 等价于a-b+c一样。知道了这种转换,我们可以将之扩展到二维数组甚至任意维数组上来。因为[]运算符的结合性是从左至右的,所以w
[j]等价于(w
[j],此时可以先将任意一个[]运算符转换为指针形式为:(*(w+i)[j]或*(w
+j),或者同时转换:*(*(w+i)+j)。上述几种形式都完全等价于w
[j]。选项A中,*(*w+3)可以看成*(*(w+0)+3),即w[0][3],是正确的。选项B小,因为[]运算符的优先级高于*运算符,所以*(w+1)[4]等价于*((w+1)[4]等价于 *(*((w+1)+4)),即*(*(w+5)+0),它等价于w[5][0],很明显它超过数组的范围了,故不正确。选项C等价于w[1][0],是下确的。选项D中,&w[0][0]是数组w第1个元素的地址,它等价于&*(*(w+0)+0),外面的&和*可以抵消,就好像先乘以个数,然后再除以这个数一样。所以,&w[0][0]等价于*(w+0)+0。即*w。所以原式就变为*(*w+1)等价于w[0][1],这个也是合法的。综上所述,本题应该选择B。
转载请注明原文地址:https://kaotiyun.com/show/1HJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
下面说明不正确的是
在软件测试设计中,软件测试的主要目的是
C语言提供的合法关键字是()
下面四个选项中,均是不合法的用户标识符的选项是
设有定义int a=2,b=3,c=4;,则以下选项中值为0的表达式是 ______。
下列选项中小属于结构化程序设计方法的是______。
下列选项中不符合良好程序设计风格的是______。
在深度为7的满二叉树中,度为2的结点个数为【 】。
随机试题
提出语言遗传机制假设的是()
大量胸腔积液所致呼吸困难。最有效的治疗措施是
男,56岁,1天前转移性右下腹痛,麦氏点有固定压痛,现腹痛突然加剧,范围扩大,腹部有肌紧张。应考虑是
财产清查的作用有()。
交往和独处原是人在世上生活的两种方式,对于每个人来说,这两种方式都是必不可少的,只是比例不太相同罢了。由于性格的差异,有的人更爱交往,有的人更喜独处。人们往往把交往看作一种能力,却忽略了独处也是一种能力,并且在一定意义上是比交往更为重要的一种能力。反过来说
随着经验增加,能够形成单位成本下降趋势的原因不包括()。
关于无形资产的后续计量,下列说法中正确的是()。
Oneofthemosteminentofpsychologists,ClarkHull,claimedthattheessenceofreasoningliesintheputtingtogetheroftwo
Sheapologizedprofusely,onlytodiscoverthatherself-servingexcusesfailedtohavea______effect.
Formorethanacenturytheroadwasthe【C1】______formoflandtransportationinmuchoftheworld.Itwas,and【C2】______,theo
最新回复
(
0
)