若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用x数组元素的是(

题目
单选题
若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用x数组元素的是(  )。
A

* p

B

x[5]

C

*(p+1)

D

*x

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有int x[5],*p=x;则数组元素x[3]可以表示为*(p+【 】),也可以表示为p[3]。


正确答案:3
3

第2题:

设有定义:double x[lO],*p=x;,以下能给数组x下标为6的元素读人数据的正确语句是

A.scanf(“%f”,&x[6]);

B.scanf(“%If”,*(x+6));

C.scanf(“%lf”,p+6);

D.scanf(“%lf”,p[6]);


正确答案:C

第3题:

若有定义语句: double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x; 则错误引用 x 数组元素的是

A)*p

B)x[5]

C)*(p+1)

D)*x


正确答案:B

第4题:

若有定义:byte[]x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是 ( )

A.x[5-3]

B.x[k]

C.x[k+5]

D.x[0]


正确答案:C
解析:该题考查的是数组。本题中定义的数组x拥有4个元素,于是下标的取值范围应为0~3,所以对x数组元素的引用下标不能超出它的下标范围。选项A的引用是x[5 -3)即x[2],所以它的引用是正确的;选项B的引用也是正确的,k的范围没超出下标范围;选项C的引用x[k+5]是错误的,它超出了下标范围;选项D的引用是正确的。

第5题:

若有定义:int x[10], *p=x;,则*(p+5)表示( )。

A.数组元素x[5]的地址

B.数组元素x[5]的值

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

D.数组元素x[6]的值

E.选项内容11

F.选项内容11

G.选项内容11


参考答案B

第6题:

若有定义:inta[5]={3,5,4,6,8},*p=a;则引用数组元素错误的是()。

A.a[3]

B.*(a+1)

C.&a[2]

D.p[2]


正确答案:C

第7题:

若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5,6}, *ptr;ptr=x;

A.*(--ptr)

B.*(ptr--)

C.*(ptr++)

D.*(++ptr)


参考答案A

第8题:

若有以下定义

int x[10],*pt=x;

则对数组元素的正确引用是

A)*&x[10]

B)*(x+3)

C)*(pt+10)

D)pt+3


正确答案:B

第9题:

若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。A.m[--i]SXB

若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。

A.m[--i]

B.m[2*2]

C.m[m[o]]

D.m[m[i]]


正确答案:C
C。【解析】数组的下标是从零开始的。一维数组的一般定义方式为数型说明符数组名[常置表达式],其中“[]”中的内容可以是整型数量,也可以是整型表达式。选项C中,m[0]=5,m[m[o]]=m[5],数组下标越界。

第10题:

若有以下定义 intx[10],*pt=x; 则对x数组元素的正确引用是______。

A.*&x[10]

B.*(x+3)

C.*(pt+10)

D.pt+3


正确答案:B
解析:本题主要考查的是数组的引用,在C语言中,—个数组不能整体引用。在选项A中,*&X[10]属于地址越界;选项C中,*(pt+10)也是地址越界。选项D中,pt+3是将指针P,后移三个元素,指向x3),并没有对数据元素进行引用。在C语言中,可以用对数组名加—个整数的方法,来依次表示该数组中不同元素的地址,因此,选项B是正确的。

更多相关问题