考研的备考中,对于历年真题的复习,也是提升考试分数的重要方法。为了让大家更好的积累学习,小编为大家整理了历年考研真题,下面是关于“设有以下定义:int w[3][4]={{0,1}, {2,4},”,希望对大家有更好的帮助。
5、设有以下定义:int w[3][4]={{0,1}, {2,4}, {5,8}}; int (*p)[4]=w; 则数值为4的表达式是( )。
A、*w[1]+1
B、p[1][1]
C、p++, *(p+1)
D、w[2] [2]
5、试题答案:B
试题解析:
【考点】本题考查指针引用二维数组。
int (*p)[4]=w表示p为指向包含4个元素的一维数组的指针变量,并将二维数组名w赋值给p。
对于二维数组w,w[1]表示数组第二行的首地址,则*w[1]表示第二行的首元素,故*w[1]+1就是w[1][0]+1=3,选项A不符题意。二维数组w初始化时,若只给数组中一部分元素赋值,系统会自动给后面为赋值的元素赋初值为0,故数组元素w[2][2]值为0,选项D不符题意。
对于指针p,p[1][1]与w[1][1]表示的内容一致,值为4,选项B符合题意。逗号表达式p++, *(p+1)的值就是*(p+1)的值,依次执行p++、 *(p+1),则*(p+1)表示的是数组第3行元素的首地址,故选项C不符题意。**(p+1)表示数组元素w[2][0],值为5;*(*p+1)才表示数组元素w[1][1],值为4。
综上本题选B。
以上“设有以下定义:int w[3][4]={{0,1}, {2,4},”,更多关于考研真题内容将不断更新。