若有以下定义,int a[5]; int *p = a;则对 a 数组元素a[1]地址的不正确引用( ) 。
A: a++
B: p+1
C: a+1
D: &a[1]
A: a++
B: p+1
C: a+1
D: &a[1]
A
举一反三
- 已知:int a[5]={1,2,3,4,5},*p=a;则不能正确引用数组元素a[1]的是( )。 A: *(a+1) B: *(p+1) C: p[1] D: *p++
- 若有定义:int a[3][4],*p=a,*q=&a[0][0];,_____不能表示数组元素a[1][1]。 A: *(a[1]+1) B: *(p+5) C: (*(a+1))[1] D: *(a+5)
- 若有定义:int a[3][4],不能表示数组元素a[1][1]的是 。 A: *(a[1]+1) B: *(a+5) C: *(&a[1][1]) D: *(*(a+1)+1)
- 若有定义:int a[3][4],( )不能表示数组元素a[1][1]。 A: * (a[1]+1) B: * (&a[1][1]) C: ( * (a+1))[1] D: * (a+5)
- 若有定义int a[2][3],*p=*a;,则能表示数组元素a[1][2]地址的是( )。 A: *(a[1]+2) B: a[1][2] C: p[5] D: p+5
内容
- 0
若有以下定义,则对a数组元素地址的正确引用是( )。int a[5],*p = a; A: p=5 B: *a+1 C: &a+1 D: &a[0]
- 1
若有定义:int a[8],*p=a; 则以下表达式中不能代表数组元素a[1]的地址的是【 】。 A: &a[0]+1 B: &a[1] C: a[0]+1 D: a+1 E: &p[1] F: p+1 G: ++p
- 2
若有:int a[3][5]; 如何定义指针变量p,使其能够指向数组a的第一行(行指针),正确的定义是()。 A: int *p = a[1]; B: int *p = &a[1][0]; C: int *p[5] = a + 1; D: int (*p)[5] = a + 1;
- 3
若有程序段:int a[2][3],(*p)[3]; p=a;则对a数组元素的正确引用是 。A)(p+1)[0] B)*(*(p+2)+1) C)*(p[1]+1) D)p[1]+2
- 4
int a[10];int *p;p=a;下面( )不正确。 A: *(a+1)=0; B: *(p+1)=1; C: a[1]=1; D: &a=1;