若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( ) int a [ ]={1,2,3,4,5,6,7,8,9,0}

题目

若有以下定义和语句,且0<=I<10,则对数组元素的错误引用是 ( )

int a [ ]={1,2,3,4,5,6,7,8,9,0};

int*p,I

p=a;

A.* (a+I)

B.a[p-a]

C.p+I

D.* (&a[I])

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

第1题:

若有以下定义和语句,且0≤i<10则对数组元素的错误引用是 。 int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i; p=a;

A.*(a+i)

B.a[p-a]

C.p+i

D.*(&a[i])


C

第2题:

若有以下定义和语句,且0≤i<10则对数组元素的错误引用是 int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i; p=a;

A.*(a+i)

B.a[p-a]

C.p+i

D.*(&a[i])


p+i

第3题:

【单选题】若有以下说明和语句,且0<=i<10,则下面哪个是对数组元素的错误引用?() inta[]={1,2,3,4,5,6,7,8,9,0}, *p, i; p=a;

A.*(a+i)

B.a[p-a]

C.p+i

D.*(&a[i])


p+i

第4题:

1、若有以下定义和语句,且0≤i<10则对数组元素的错误引用是 。 int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i; p=a;

A.*(a+i)

B.a[p-a]

C.p+i

D.*(&a[i])


p+i

第5题:

若有下面的程序片段: int[12]={0},*p[3],**pp,i; for(i=0;i<3;i) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是


正确答案:C
C

第6题:

若有以下定义语句: double a[5],*p=a; int i=0; 对a数组元素错误的引用是( )

A.a[i]

B.a[5]

C.p[4]

D.p[i]


正确答案:B

第7题:

若有以下C语言语句,且0≤i<10,则对数组元素的错误引用是(29)。 int a[i]={1,2,3,4,5,6,?,8,9,0),*p,i; p=a;

A.*(a+i)

B.p+I

C.a[p-a)

D.*(&a[i])


正确答案:B
解析:由于C语言规定数组名代表数组中第一个元素的地址,因此选项A的*(a+i)与a[i]等价。由于指针变量p的初值为数组a的首地址,即p指向a,因此p-a的结果为0,选项C的a[p-a]相当于a[0]。对于选项D,&a[i]代表a[i]的地址,所以*(&a[i])表示该地址所指向的变量a[i]。因此选项A、C和D都能实现对数组a中元素的正确引用。对于选项B,指针变量p指向数组a的首地址,与整数值i相加后,结果仍是地址值,它表示数组a中的第i个元素的地址,显然这不是对数组元素的正确引用。

第8题:

若有下面的程序片段: int[12]={0},*p[3],**pp,i; for(i=0;i<3;i) p[i]=&a[i*4]; pp=p 则对数组元素的错误引用是

A.pp[0][1]

B.a[10]

C.p[3][1]

D.*(*(p+2)+2)


正确答案:C
解析:本题综合考查一维数组和多维数组指针变量的表示方法。在C语言中,引用数组元素的方法有两种,即:下标法和指针法。下标法如a[i]形式;指针法如*(a+i)或*(p+1)。其中a是数组名,p是指向数组的指针变量,其初值p=a。再如*(*(p+2)+2)是a[2][2]的值,注意语句中指针型数组的书写格式,不能写成“(*数组名)[长度]”,因为这是定义指向含有“长度”个元素的一维数组的指针变量。例如有定义语句“inta,b,c,c,*P[3]={&a,&b,&c};”,它定义了一个名为p的指针型数组,其3个元素p[0],p[1],p[2]分别指向B个整型变量a,b,c。注意:数组元素的引用方法。

第9题:

若有下面的程序片段:

int[12]={0},*p[3],**pp,i;

for(i=0;i<3;i)

p[i]=&a[i*4];

pp=p;

则对数组元素的错误引用是

A.pp[0][1]

B.a[10]

C.p[3][1]

D.*(*(p+2)+2)


正确答案:C