问题 单项选择题

若有以下程序
#include <stdio.h>
int a[ ]=2,4,6,8;
main( )
int i;
int *p=a;
for(i=0;i<4;i++) a[i]=*p;
printf("%d\n",a[2]);
上面程序的输出结果是

A)6
B)8
C)4
D)2

答案

参考答案:D

解析: 在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量 p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

单项选择题
单项选择题