以下程序 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-04-15  14

问题 以下程序    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[0][0],输出2,而i=1时执行了++p操作使指针向后移动指向了aa[0][1],所以在输出*p时应为3。
转载请注明原文地址:https://kaotiyun.com/show/EzWp777K
0

最新回复(0)