设有以下定义:int a[3][3]={1,2,3,4,5,6,7,8,9};int(*Ptr)[3]=a,*p=a[0];则下列能够正确表示数组

题目

设有以下定义: int a[3][3]={1,2,3,4,5,6,7,8,9}; int(*Ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是_______。

A.*((*ptr+1)[2])

B.*(*(p+5))

C.(*ptr+1)+2

D.*(*(a+1)+2)

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

第1题:

设有以下定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a【1】【2】的表达式是( )。A.*((*ptr+1)[2])B.*(*(p+5))C.(*ptr+1)+2D.*(*(a+1)+2)


正确答案:D
a[1][2]的值为6. *ptr的值为1,*ptr+1=2是一个数组,所以(*ptr+1)[2]表示不正确。P=a,指向1,p+5是指针向后移动5个单元,即指向6,*(p+5)即是6,C项解释同A,

第2题:

以下程序的输出结果是 () include int a [3] [3]={1,2,3,4,5,6,7,8,9},*p; main()

以下程序的输出结果是 ( ) #include<stdlib.h> int a [3] [3]={1,2,3,4,5,6,7,8,9},*p; main( ) { p=(int *)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); } f(int *s,intp[][3]) { *s=p[1][1]; }

A.1

B.4

C.7

D.5


正确答案:D

第3题:

设有定义语句: int a[][3]={{0},{1},{2}};, 则数组元素 a[1][2] 的值为 【 13 】 。


正确答案:

第4题:

以下数组定义中不正确的是______。

A.int a[2][3];

B.int b[][3]={0,1,2};

C.int c[100][100]={0};

D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};


正确答案:D
解析:一维数组的定义方式为:类型说明符数组名[常量表达式];选项A符合此定义形式,正确;C语言中多维数组赋初值时可以部分赋值,也可以不指定除第一维以外的其他维的大小,故选项C正确;另外,如果对全部数组元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省,所以选项B正确,而选项D是错误的。

第5题:

设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( )。

A.a[0];

B.a[A.length-1];

C.a[3];

D.int i=1; a[i];


参考答案:C

第6题:

设有以下定义和语句 int a[3][2]={1,2,3,4,5,6},*p[3]; p[0]=a[1]; 则*(p[0]+1)所代表的数组元素是

A.a[0][1]

B.a[1][0]

C.a[1][1]

D.a[1][2]


正确答案:C
解析:本题中首先定义了一个3行2列的数组a,一个长度为3的指针数组 p,接着把地址a[1]赋给p[0]此时p[0]为a[1][0]的地址,p[0]+1为a[1][1]的地址,故*(P[0]+1)代表的元素为a[1][1]。

第7题:

若有定义“int*p[3];”,则以下叙述中正确的是( )。

A.定义了一个基类型为int的指针变量p,该变量具有3个指针

B.定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针

C.定义了一个名为*p的整型数组,该数组含有3个int类型元素

D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素


正确答案:B
解析:本题定义了一个指针数组p,每个元素都是基类型为int,它的长度为3即该数组含有3个元素。选项A、C和D都不正确,只有选项B符合题意。

第8题:

设有定义语句:int a[][3]={{0},{1},{2}};,则数组元素a[1][2]的值为____


正确答案:

0

第9题:

下列程序段的输出结果是______。 static int a[3]={1,2,3}; int**ptr,*p; p=a;ptr=&p; (ptr[0]++)[1]+=3; printf("%d,%d,%d\n",**ptr,*p,a[0]);

A.5,5,10

B.1,5,5

C.5,5,1

D.输出结果不确定


正确答案:C
解析:ptr指向指针变量p,p指向数组a的首地址,(ptr[0]++)[1]+=3;的意思是将p指向数组元素a[1],并将它的值增3变为5,此时,ptr指向p,p指向a[1]。

第10题:

以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma

以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); free(p);} f(int *s, int p[][3]) { *s=p[1][1];}

A.1

B.4

C.7

D.5


正确答案:D
解析:本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。

更多相关问题