a[2][0]
a[2][1]
a[2][2]
a[2][3]
第1题:
以下程序的输出结果是 ( ) main( ) { int a [10] = {1,2,3,4,5,6,7,8,9,10,},*p=a; printf("%d\n",* (p+2)); }
A.3
B.4
C.1
D.2
第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)
第3题:
有以下程序: #include <stdio.h> main() { int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2; prinff("%d\n";*p+*q); } 程序运行后的输出结果是( )。
A.16
B.10
C.8
D.6
第4题:
设有以下定义和语句 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[l][2]
第5题:
执行以下程序段后,m的值为______。 int a[2][3]={ {1,2,3},{4,5,6} }; int m,*p; p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4));
A.15
B.14
C.13
D.12
第6题:
有以下定义: 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)+2
D.*(*(a+1)+2)
第7题:
若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是
A.int m[][3j={{1,2,3},{4,5,6},{i 7}};
B.int m[][3]={{1,2},{3,4},{5,6,7}};
C.int m[][3]={{1,2,3},{4,5},{6,7}};
D.int nl[][3]={{1},{2,3,4},{5,6,7}};
第8题:
有如下定义: int a[5]={1,3,5,7,9},* P=a; 下列表达式中不能得到数值5的是( )。
A.a[2]
B.a[3]
C.*(P+2)
D.+P+4
第9题:
下列二维数组初始化语句中,正确且与语句int a[][3]={1,2,3,4,5}等价的是( )。
A)int a[2][]={{1,2,3},{4,5));
B)int a[][3]={1,2,3,4,5,0};
C)int a[][3]={{1,0},{2,0},{3,0)};
D)int a[2]={{1,2,3),{4,5,6)};
第10题:
设有以下定义: inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是()。
第11题:
a[2][0]
a[2][1]
a[2][2]
a[2][3]
第12题:
*((*ptr+1)[2])
*(*(p+5))
(*ptr+1)+2
*(*(a+1)+2)
第13题:
若有下面的程序片段:
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)
第14题:
若有以下定义和语句,则对a数组元素地址的正确引用为 int a[2][3],(*p)[3]; p=a;
A.*(p+2)
B.p[2]
C.p[1]+1
D.(p+1)+2
第15题:
有如下定义: int a[5]={1,3,5,7,9}, * p=a; 下列表达式中不能得到数值5的是
A.a[2]
B.a[3]
C.*(p+2)
D.*p+4
第16题:
有以下定义和语句
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]
第17题:
写出结果
void foo(int p1[])
{
*p1 += 5;
}
void bar(int p2[])
{
p2[1] = 15;
}
void main()
{
int a[]={3,4,5};
int b[]={3,4,5};
int *p2;
p2=&a[1];
bar(p2);
printf("%i %i %i\n",a[0],a[1],a[2]);
p2=&b[0];
p2++;
foo(p2);
bar(p2);
printf("%i %i %i\n",b[0],b[1],b[2]);
}
第18题:
设有以下定义和语句: 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.s[1][1]
D.a[1][2]
第19题:
若有int a[]={2,4,6,8,10};int *p=a;则第2个数组元素的正确表示为 ______。
A.*p++
B.p+2
C.&(p+2)
D.*(p+2)
第20题:
设有以下定义: 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)
第21题:
有定义:int a[5][4],(*p)[4]=a;,则*(*(p+2)+3)等价于()。
第22题:
以下数组定义中错误的是()
第23题:
a[0][2]
*(a+2)[0]
(*a+2)[0]
a[2][0]
第24题:
a[2]
a[3]
*(p+2)
*p+4