有以下程序 #include main() { int a[ ]={ 10,20,30,40 }, *p=a, i ; for( i=0; i

admin2015-07-28  21

问题 有以下程序
#include
main()
{ int a[ ]={ 10,20,30,40 }, *p=a, i ;
for( i=0; i<=3; i++ ) { a = *p; p++; }
printf("%d\n", a[2] );
}
程序运行后的输出结果是( )。

选项 A、30
B、20
C、10
D、40

答案A

解析 考查指针变量与一维数组。语句int *p=a将指针p指向了数组a的首地址,所以p+1与a+1和a[1]等价,每次循环中指针p移动一位,同时引用数组的索引值i也自加1,即*p和a引用的内容一样,将*p赋值给a没有对数组a做任何改变,输出a[2]即是30,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/jdJp777K
0

最新回复(0)