有以下程序 #include main() { int a[3][4]={ 1,3,5,7,9,11,13,15,17,19,21,23}, (*p)[4]=a,i,j,k=0; for( i=0; i

admin2015-07-28  20

问题 有以下程序
#include
main()
{ int a[3][4]={ 1,3,5,7,9,11,13,15,17,19,21,23}, (*p)[4]=a,i,j,k=0;
for( i=0; i<3; i++ )
for( j=0; j<2; j++ ) k=k+*(*(p+i)+j);
printf("%d\n", k );
}
程序运行后的输出结果是( )。

选项 A、60
B、68
C、99
D、108

答案A

解析 考查行指针。(*p)[4]表示一个能存放四个整型元素首地址的一维数组的首地址。所以"k=k+*(*(p+i)+j)"中k累加的是数组中第i行第j列的元素。两层循环中i从0到2,j从0到1,所以累加的值为1、3、9、11、17、19,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/z7Jp777K
0

最新回复(0)