若有定义:[br][/br] int a[3] = {1,2,3}, *p, i; p = a; 且0<=i<10,则下列选项中,对数组元素引用错误的是( )
A: *(a+1)
B: a[p-a]
C: p+i
D: *(&a[i])
A: *(a+1)
B: a[p-a]
C: p+i
D: *(&a[i])
举一反三
- 若有以下定义和语句, 则 *p[0] 引用的数组元素 , *(p[1]+1)引用的是数组元素 。[br][/br]int *p[3],a[9],i;[br][/br]for (i=0;i<3;i++) p[i]=&a[3*i];[/i]
- 若有程序片段: int a[12]={0},* p[3],* *pp,i for (i=0;i<3;i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 ( )[/i] A: pp[0][1] B: a[10] C: p[3][1] D: *(*(p+2)+2)
- 若有定义:int<br/>a[10],<br/>*p=a, i=0;以下不能表示a数组元素值的是()。 A: a[i] B: p[i] C: *(p+i) D: p++
- 若有下面的程序片段,则对数组元素的错误引用是( )int a[12]={0},*p[3],**pp,i;for( i=0;i<3;i++) p[i]=&a[i+4];pp= p;[/i] A: pp[0][1] B: a[10] C: p[3][l] D: *(*(p+2)+2)
- 若有以下定义和语句,且0<=i<10,则对数组元素地址的正确表示是( )。int a[]={0,1,2,3,4,5,6,7,8,9},*p;p=a; A: a++ B: &(a+1) C: &p D: &p[i]