有以下程序 #include main() { int aa[3][3]={ {2},{4},{6} }, i, *p = &aa[0][0]; for ( i=0; i

admin2019-08-18  25

问题 有以下程序
#include
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、2 3
B、2 6
C、4 3
D、4 6

答案A

解析 定义二维数组的语句为"int aa[3][3]={ {2},{4},{6} }"表明aa[0][0]=2,aa[1][0]=4,aa[2][0]=6,指针p指向二维数组aa的第一个元素。第一次循环,i值为0,则计算aa[0][1]的值为*p+1=aa[0][0]+1=3,输出*p的值为2;第二次循环,p指针移动,指向aa[0][1],输出结果为3。答案选A。
转载请注明原文地址:https://kaotiyun.com/show/M4Rp777K
0

最新回复(0)