有以下程序: #include<stdio.h> 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+

admin2022-06-24  23

问题 有以下程序:
#include<stdio.h>
main( )
{
int aa[3][3]={{2},{4},{6}},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、26
B、23
C、43
D、46

答案B

解析 本题主要考查指针与数组。观察题目,可以发现,*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/CFkp777K
0

最新回复(0)