设有以下语句(其中0≤i<10),则不能对a数组元素的正确引用是()      int a[10]={0,l,2,3,4

题目
单选题
设有以下语句(其中0≤i<10),则不能对a数组元素的正确引用是()      int a[10]={0,l,2,3,4,5,6,7,8,9},*p=a;
A

a[p-a]

B

*(&a[i])

C

p[i]

D

*(*(a+i))

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

第1题:

本题的功能是计算二维数组各个元素的和。程序中定义了二维数组arr,arr有3行4列共l2个元素,程序中采用for循环语句的嵌套来计算数组中各个元素的和,并将结果保存在sum变量中,最后打印输出结果。 public class javal{ public static void main(String[] args){ int arr[][]={{l,2,3,4},{5,6,7,8},{9,10,11,12}}; int sum=0; int i=0,j=0; for(i=0; ) for( ) ; System.OUt.println("sum="+sum); } }


正确答案:
第1处:i<3;i++或i<=2;i++
第2处:j=O;j<4;j++或j=0;j<=3;j++
第3处:sum=sum+arr[i][j]
【解析】第1处、第2处是由该数组是3行4列的数组而得出的遍历数组的循环条件;第3处是将数组元素累加并将最终累加结果赋给sum。

第2题:

若已定义以下语句,其中0≤i≤9,则对a数组元素不正确的引用为______。 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;

A.a[p-a]

B.*(&a[i])

C.p[i]

D.a[10]


正确答案:D

第3题:

有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)

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

A.a[p-a]

B.*(&a[i])

C.p[i]

D.*(*(a+i))


正确答案:D

第4题:

设有二维数组int a[10][20];,则a[i][j]的地址可由首元素a[0][0]的地址来表达,由此可得访问数组元素a[i][j]的表达式为【 】。


正确答案:*(&a[0][0]+20*4*i+4*j)
*(&a[0][0]+20*4*i+4*j) 解析:根据二维数组的定义,它的a[i][j]元素的地址应该是&a[0][0]+20*4*i+4*j,所以a[i][j]元素的值是*(&a[0][0]+20*4*i+4*j)。

第5题:

有以下语句,则对a数组元素的引用不正确的是(0≤i≤9) int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

A.a[p=a)

B.*(&a[i])

C.p[i]

D.*(*(a+i)


正确答案:D
解析:选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。

第6题:

以下程序段给数组A的所有元素输入数据,请填空。 include void main () {int a[10],

以下程序段给数组A的所有元素输入数据,请填空。

include<iostream. h>

void main () {

int a[10], i;

i=0;

while (i<10) cin>> 【 】

}


正确答案:a[i++]
a[i++]

第7题:

设有以下语句,其中不是对a数组元素的正确引用的是:_____(其中0≤i<10) int a[10]={0,1,3,4,5,6,7,8,9,},*p=a;

A.a[p-a]

B.*(&a[i])

C.p[i]

D.*(*(a+i))


正确答案:D
解析:观察程序可知,a实际上就是数组a的首地址,所以“*(a+i)”表示的就是数组a中的第i个元素的值,进而,我们可以知道*(*(a+i))必然不是对a数组元素的正确引用。

第8题:

若已定义 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对a数组元素不正确的引用是

A.a[p-A)

B.*(&a[i])

C.p[i]

D.a[10]


正确答案:D
解析: 通常,引用一个数组元素可以用下标法,如a[P-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从0开始的。

第9题:

定义数组char a[]=}'0','1','2','3');,则将该数组中元素按反序转换成整数,正确的程序段是______。

A.int k=0,i; for(i=0;i<4;i++) k=k*10+a[i]-48;

B.int k=0,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';

C.int k=0,i; for(i=3;i>=0;i--) k=k+a[i]-'0';

D.int k,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';


正确答案:B
解析:将字符数组中的元素按反序转换成整数,数组第一个元素应当是四位整数的个位,依次类推,字符数字转换为数字的基本方法是将该字符的ASCII码值减去字符0的ASCII码值,程序的输出结果是3210。

第10题:

若有以下程序段,其中0<=i<4,0<=j<3,则不能正确访问a数组元素的是()int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;

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

B.p[i][j]

C.(*(p+i))[j]

D.p[i]+j


参考答案:D

更多相关问题