若有以下数组说明,则i=10;a[a[i]]元素数值是()。in

题目

若有以下数组说明,则i=10;a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};

  • A、10
  • B、9
  • C、6
  • D、5
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有下面的程序片段:

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]的值,注意语句中指针型数组的书写格式,不能写成"(*数组名)[长度]",因为这是定义指向含有"长度"个元素的一维数组的指针变量。例如有定义语句"int a,b,c,c,*p[3]={&a,&b,&c};",它定义了一个名为p的指针型数组,其3个元素p[0],p[1],p[2]分别指向f3个整型变量a,b,c。

第2题:

若有程序片段: int a[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

第3题:

若有定义:int a[2][3];则对a数组中第i行第j列元素地址的正确引用为 ()。

A.*(a[i]+j)

B. (a+i)

C. *(a+j)

D. a[i]+j


参考答案:D

第4题:

若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O<=i<3,0<=j<4)值的正确引用为( )。

A)(q i)[j]

B)*q[il][j]

C)*(*q[i] j)

D)*(*(q i) j)


正确答案:D
(q i)指向第i行首地址, (*(q i) j)代表第i行第i个元素。

第5题:

若有定义语句“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],数组下标越界。

第6题:

若有定义:“int a [2][3];”则对a数组的第i行第j列元素的正确引用为( )。

A.*(*(a+i)+j)

B.(a+i)[j]

C.*(a+i+j)

D.*(a+i)+j


正确答案:A
解析:本题考查如何通过地址来引用数组元素。通过地址来引用数组元素的方法有下列5种:①a[i][j]:②*(a[i]+j);⑨*(*(a+i)+j):④*(a[i][j];⑥*(&a[0][0]+3*i+j)。

第7题:

若有定义:inta[2][3],则对a数组的第i行j列元素地址的正确引用为()。

A.*(a[i]+j)

B.(a+i)

C.*(a+j)

D.a[i]+j


正确答案:A

第8题:

若有定义int a[2][3];,则对a数组的第i行第j列(假调i,j已正确说明并赋值)元素值的正确引用为

A.*(*(a+i)+j)

B.(a+i)[j]

C.*(a+i+j)

D.*(a+i)+j


正确答案:A
解析:本题考查了二维数组元素的引用方法。选项A中a+i指向了数组a的第i+1行,*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。

第9题:

若有定义char s[3][4];以下对数组元素s[i][j]的各种引用形式中错误的是()。

A.*s[i]j

B.*sij

C.s[i][j]

D.**sij


正确答案:B

第10题:

若有定义int a[2][3];,则对a数组的第i行第j列(假设i,j已正确说明并赋值.元素值的正确引用为( )。

A.*(*(a+i.+j.

B.(a+i.[j]

C.*(a+i+j.

D.*(a+i.+j


正确答案:A
本题考查了二维数组元素的引用方法。选项A)中a+i指向了数组a的第i+1行。*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。

更多相关问题