若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用x 数组元素的是_______。A.*pB.x[5]C.*(p+1)D.*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
参考答案和解析
B 解析:本题定义了一个有5个数组元素的—维数组x和指针变量p,且将x的首地址(即x[0])的地址)赋给了指针变量p,即p指向了x数组的第0号元素,所以*p的值为x[0]的值,选项A的引用正确;由于p+1就是x[1]的地址,所以*(p+1)所指向的数组元素为x[1],故选项C的引用正确;由于x就是数组x的首地址,所以*x即对x[0]的引用,所以选项D引用正确;由于数组最大下标是元素个数减一,所以选项B的引用越界。
相关考题:
设有定义: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]);
若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5,6}, *ptr;ptr=x; A.*(--ptr)B.*(ptr--)C.*(ptr++)D.*(++ptr)
若有定义:int x[10], *p=x;,则*(p+5)表示( )。 A.数组元素x[5]的地址B.数组元素x[5]的值C.数组元素x[6]的地址D.数组元素x[6]的值E.选项内容11F.选项内容11G.选项内容11
若有定义语句“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]]
若有定义语句:float x[6];则以下对x数组元素的正确引用形式是()。A.x+2B.x[6]C.*(x+2)D.*则以下对x数组元素的正确引用形式是( )。A.x+2B.x[6]C.*(x+2)D.*x[6]
设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A.scanf("%f",C.scanf("%lf",p+6)D.scanf("%lf",p[6]);
设有定义:“double x[10],*p=x;”,以下能给数组x下标为6的元素读人数据的正确语句是( )。A.scanf("%f"x[6]);B.scanf("%If",*(x+6));C.scanf("%if",p+6);D.scanf("%if",p[6]);
若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。 A.*pSX 若有定义语句“doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x”,则错误引用X数组元素的是( )。A.*pB.x[5]C.*(p+1)D.*x
若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5 B.*a+1 若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5B.*a+1C.&a+1D.&a[0]
单选题设有定义double x[10],*p=x;以下能给数组x下标为6的元素读入数据的正确语句是( )。Ascanf("%f",x[6]);Bscanf("%1f",*(x+6));Cscanf("%1f",p+6);Dscanf("%1f",p[6]);