首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有定义;int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。
若有定义;int w[3][5];,则以下不能正确表示该数组元素的表达式是( )。
admin
2013-02-23
71
问题
若有定义;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全国计算机二级
相关试题推荐
假设有如下定义:structa{intn;floatk}data,*p;若要使p指向data中的成员n,正确的赋值语句是
下面程序的运行结果是#include<stdio.h>main(){chara[]="morning",t;inti,j=0;for(i=1;i<7;i++)if(a[j]<a[i])j=i;
下面不属于软件工程的3个要素的是()
阅读下面程序,则程序段的功能是#include"stdio.h"main(){intc[]={23,1,56,234,7,0,34},i,j,t;for(i=1;i<7;i++){t=c[i];j=i-
定义长度为12的数组,下面四种方法中正确的有【】。①intx[12];②intn=12;③constintn=12;④intx[]={1,2};int
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
在程序设计阶段应该采取【】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
下面关于完全二叉树的叙述中,错误的是______。
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。
随机试题
任何一个化工生产过程都是由一系列的化学反应操作和一系列物理操作构成。
实践是检验真理的唯一标准,因为实践是一种
有关血栓的论述,错误的是
心包囊肿常见于
A.12kg、85cmB.14kg、105cmC.16kg、110cmD.18kg、115cmE.20kg、112cm2周岁的小儿的标准体重、身高按现行公式计算应为
机电工程注册建造师应按照执业的()等工程类别,分别填写施工管理签章文件。
公安队伍的正规化建设,就是指根据公安机关的性质、任务和工作特点,依据《人民警察法》等法律、法规,使公安工作走向标准化、程序化,使公安机关指挥畅通、工作规范、办事高效、保障有力。()
根据规定,对于办案过程中的情况公开,接受媒体采访必须经过上级有关部门的批准。目前你单位正在处理一个案件,民众对此有看法,记者也蜂拥至办案大厅进行采访,单位负责办案的人员紧急回避。办案小组的组长特意派小王接待媒体,面对媒体的采访。小王透露了关于办案的情况和进
清真食品
A、Hisgeneralhealthwillbenefitgreatly.B、Hewillbegintobreathemoreregularly.C、Hisflexibilitywilldecrease.D、Hewill
最新回复
(
0
)