有以下程序 #include main() { int y=1,x,a[]={2,4,6,8,10},*p; p=&a[1]; for( x=0; x

admin2015-07-28  29

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

选项 A、19
B、17
C、18
D、20

答案A

解析 考查指针与一维数组。语句p = &a[1];意味着将指针p指向数组a的第二个元素,p+1则是指向数组a的第三个元素,同理,p+x则是指向数组a的第x+2个元素,x的取值为0、1、2,然后用y和对应数组的元素累加,y=1,即是1+2+4+6+8=19,结果选A)。
转载请注明原文地址:https://kaotiyun.com/show/o7Jp777K
0

最新回复(0)