已知则选项中等效的有(多选题):
A: a[i]
B: *(pa+i)
C: *(a+i)
D: pa[i]
A: a[i]
B: *(pa+i)
C: *(a+i)
D: pa[i]
举一反三
- voidmain(){inta[10],b'10],*pa,*pb;pa=a;pb=b;for(inti=0;i<3;i++,pa++,pb++){*pa=i;*pb=2*i;}pa=&a[0];pb=&b[0];for(inti=0;i<3;i++){*pa=*pa+i;*pb=*pb+i;cout<<*pa++<<","<<*pb++<<",";}}
- 中国大学MOOC: 下面程序的运行结果是___ 。 #include<stdio.h>void main(){ int va[10],vb[10],*pa,*pb,i; pa=va; pb=vb; for(i=0; i<3; i++,pa++,pb++) { *pa=i; *pb=2*i; printf(”%d%d”,*pa,*pb); } pa=&va[0]; pb=&vb[0]; for(i=0; i<3; i++) { *pa=*pa+i; *pb=*pb*i; printf(”%d%d”,*pa++,*pb++); }}
- 如果int a[10],*pa=a;则*(pa+i)指的是( )。 A: a[i]的地址 B: a[i]的内容 C: a的地址 D: a的内容
- 若指针变量pa指向同类型数组的某个元素,以下描述错误的是_____ A: pa+i指向pa所指元素之后的第i个元素 B: pa-i指向pa所指元素之前的第i个元素 C: 若pa指向a[0],那么pa+i指向a[i],该结论只适用于字符型数组 D: 若pa指向a[0],那么pa+i指向a[i],该结论适用于任何类型的数组
- 若有int a[5][5];则*(a+i)+j是a[i][j]的地址,*(a+i)等价于a[i]等价于&a[i][0][/i][/i][/i]