若有定义int a[2][3],*p=a;则以下不能表示数组元素a[1][2]的是()A、*(a[1]+2)B、*(p[1]+2)C、p[5]D、*(p+5)

题目

若有定义int a[2][3],*p=a;则以下不能表示数组元素a[1][2]的是()

  • A、*(a[1]+2)
  • B、*(p[1]+2)
  • C、p[5]
  • D、*(p+5)
参考答案和解析
正确答案:B
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有定义int a[9],*p=a;,则p+5表示

A.数组元素a[5]的值

B.数组元素a[5]的地址

C.数组元素a[6]的地址

D.数组元素a[0]的值加上5


正确答案:B
解析:本题考查了通过指针来引用一维数组元素的方法。题中*p=a;这一赋值语句是指针p指向了数组a的首地址,p+5是指针p向后移动了5个int类型的存储单元,所以p+5指向了数组元素a[5]。

第2题:

若有定义语句:int a[2][3],*p[33;,则以下语句中正确的是( )。

A.p=a;

B.p[0]=a;

C.p[0]=&a[1][2];

D.p[1]=&a


正确答案:B
解析:本题考查的重点是指针数组与二维数组的关系。因为*p[3]定义成指针数组,从而指针数组中的任何元素都是一个地址,因此,选项B是正确的。

第3题:

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是A ) p=a;B)p[0]=a; C) p[0]=&am

若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是

A ) p=a;

B)p[0]=a;

C) p[0]=&a[1][2];

D)p[1]=&a;


正确答案:C

                                           

第4题:

若有以下说明和语句: int c[4] [5] ,( * p) [5]; p=e; 能够正确引用c数组元素的是( )。

A.p+1

B.*(p+3)

C.*(p+1)+3

D.*(p[0]+2)


正确答案:D
解析:(*p)[5]中p是一个行指针,指向一个包含5个元素的一维数组,p的值是该一维数组的首地址。当用行指针访问二维数组时,行指针每增加1,表示指针指向二维数组的下一行,此题中的p+i将指向数组的第i行。选项A)的意思是指向数组c的第1行,不是引用c数组的元素;选项B)中p+3是指向数组元素的第3行,。(P+3)是指第3行第0个元素的地址;选项C)可由对选项A)、选项B)的解释知,它指的是第1行第3列元素的地址;选项D)中p[0]+2是指第0行第2列元素的地址,再加个*就表示第0行第2列的元素,即c[0][2]。

第5题:

若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB

若有定义int a[9],+P=a;,则P+5表示( )。

A.数组元素a[5]的值

B.数组元素a[5]的地址

C.数组元素a[6]的地址

D.数组元素a[0]的值加上5


正确答案:B
本题考查了通过指针来引用一维数组元素的方法。题中*P=a;这一赋值语句是指针P指向了数组a的首地址,P+5是指针P向后移动了5个int类型的存储单元,所以P+5指向了数组元素a[5]。

第6题:

若有以下说明和语句 int c[4)[5],(*p)[5]; p=c; 能够正确引用c数组元素的是

A.p+1

B.*(p+3)

C.*(P+1)+3

D.*(p[0]+2)


正确答案:D
解析:本题中定义了一个二维数组c和一个指针数组p并初始化让它指向 c,显然此时p中的各元素为地址,选项A中p+1,此时其中的1代表的长度是整个二维数组c的长度,故p+1将让p指向c数组后面的元素,故不能引用c数组中的成员,选项D中p[0]指的是指针数组中的第一个元素的地址即c的首地址,此时的1的长度代表的是数组C中一行的长度,故p[0]+2代表的是第三行的首地址,而*(p[o]+2)将代表第三行的第一个元素的地址。

第7题:

若有以下定义,则对a数组元素的正确引用是( )。 int a[5],*p=a;

A.*&a[5]

B.*a+1

C.*(p+5)

D.*(a+2)


正确答案:D

第8题:

设有以下定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a【1】【2】的表达式是( )。A.*((*ptr+1)[2])B.*(*(p+5))C.(*ptr+1)+2D.*(*(a+1)+2)


正确答案:D
a[1][2]的值为6. *ptr的值为1,*ptr+1=2是一个数组,所以(*ptr+1)[2]表示不正确。P=a,指向1,p+5是指针向后移动5个单元,即指向6,*(p+5)即是6,C项解释同A,

第9题:

若有以下定义和语句,则对a数组元素地址的正确引用为 int a[2][3],(*p)[3]; p=a;

A.*(p+2)

B.p[2]

C.p[1]+1

D.(p+1)+2


正确答案:C
解析:本题考查了通过行指针来引用二维数组元素的方法。选项C中p[1]指向了数组a的第二行,p[1]+1则指向了第二行的第二个数据元素,其他几个选项都不正确。

第10题:

若有以下说明和语句: int c[4][5],(*p)[5]; p=C; 能够正确引用c数组元素的是 ______。

A.p+1

B.*(p+1)

C.*(p+1)+3

D.*(p[0]+2)


正确答案:D
解析:p是指向一个一维数组的指针,选项A、B和C中都是地址,而非数组元素。选项D正确。

更多相关问题