9.13 若已定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0];
则能正确表示数组元素a[1][2]的表达式是
A) *((*prt+1)[2]
B) *(*(p+5))
C) (*prt+1)+2
D)
*(*(a+1)+2)
答案: D
9.14 若有定义和语句:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p[4],i;
for(i=0;i<4;i++) p[i]=a[i];
则不能够正确表示a数组元素的表达式是
A) a[4][3]
B) p[0][0]
C) prt[2][2]
D)
(*(p+1))[1]
答案: A
9.15 以下程序的输出结果是
A) 23
B) 26
C) 33
D) 36
main()
{ int aa[3][3]={{2},{4},{6}},i,*p=&aa[0][0];
for(i=0; i<2; i++)
{ if(i==0)
aa[i][i+1]=*p+1;
else ++p;
printf("%d",*p);
}
printf("\\n");
}
答案: A
9.16 以下程序的输出结果是
A) 60
B) 68
C) 99
D) 108
main()
{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4]=a,i,j,k=0;
for(i=0; i<3; i++)
for(j=0; j<2; j++)
k+=*(*(p+i)+j);
printf("%d\\n",k);
}
答案: A
9.17 以下程序的输出结果是
A) 1,5,9,
B) 1,4,7,
C) 3,5,7,
D) 3,6,9,
main()
{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0; i<3; i++) printf("%d,",x[i][2-i]);
}
答案: C
9.18 若有定义语句 int (*p)[M]; 其中的标识符p是
A) M个指向整型变量的指针
B) 指向M个整型变量的函数指针
C) 一个指向具有M个整型元素的一维数组指针
D) 具有M个指针元素的一维指针数组,每个元素都只能指向整型量
答案: C