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

admin2012-12-03  25

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

选项 A、10
B、11
C、14
D、15

答案C

解析 由题目的语句p=&a[1]可知,p指向a数组中下标为1的元素“4”,又因为p为指针变量,所以p[x]与*(p+x)等价,因而在for循环语句中,第一坎循环p[1]:指向a数组中下标为2的元素“6”,第二次循环p[2]指向a数组中下标为3的元素“8”.所以y=6+8=14,因而选项C为正确答案。
转载请注明原文地址:https://kaotiyun.com/show/YuPp777K
0

最新回复(0)