以下程序 int aa[3][3]={{2},{4},{6}}; main() { int i,*p=&aa[0][0]; for(i=0;i<2;i++){ if(i==0)aa[i][i+1]=*p+1;

admin2009-02-15  15

问题 以下程序    int aa[3][3]={{2},{4},{6}};    main()    {  int i,*p=&aa[0][0];     for(i=0;i<2;i++){         if(i==0)aa[i+1]=*p+1;         else  ++p;         printf("%d",*p);         }    }    的输出是______。

选项 A、23
B、26
C、33
D、36

答案1

解析 观察题目,可以发现,*p=&aa[0][0]语句实际是将数组aa的首地址赋给了指针变量p,将i的值带入for循环中, i=0时,aa[0][1]=3,*p=2;*p输出的是指针所指向的数组值,此时p所指向的是aa[O][0],输出2,而i=1时执行了++p操作使指针向后移动指向了aa[0][1],所以在输出*p时应为3。
转载请注明原文地址:https://kaotiyun.com/show/RDXp777K
0

最新回复(0)