问题 单项选择题

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

解析: 本题考查的是指针的运用。题目首先申请了一个整型数组a,并让一个指针变量p指向数组的元素a[1]。然后使用一个for循环,循环变量x从l递增到2,即循环两次。在循环体中每次让y累加p[x]的值,而p[x]写成指针形式就是*(p+x)。所以两次y加的值分别是a[2]和a[3]的值,故最终输出6+8=14。应该选择C)。

单项选择题
判断题