若有定义:[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])
C
举一反三
- 若有以下定义和语句, 则 *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]
内容
- 0
若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用 int a[]={1,2,3,4,5},*p,i; p=a;
- 1
若有定义:int i=1, a[4][3],b[3][4],(*p)[3];则( )是正确的赋值语句。 A: p=a; B: p=b; C: p=a[i]; D: p=b[i];
- 2
有以下程序: main() { int a[3][3], *p, i; p=&a[0][0]; for(i=0; i<9; 1++)p[i]=i; for(i=0; i<3; i++)printf("% d", a[1][i]); 程序运行后的输出结果是______。[/i][/i] A: 0 1 2 B: 1 2 3 C: 2 3 4 D: 3 4 5
- 3
以下程序段运行后变量s的值为。 int a[]={1,2,3,4,5,6,7}; int i,s=1,*p; p=&a[3]; for(i=0;i<3;i++) s*=*(p+i);
- 4
若有定义语句:int<br/>a[4],*p; 且0≤i A: p=a; B: p=&a[i]; C: p=&a[0]; D: *p=a[i];