问题 单项选择题

有以下程序
#include <stdio.h>
main()
int a[]=1,2,3,4,y,*p=&a[3];
--p; y=*p;printf("y=%d\n",y);

程序的运行结果是

A) y=0
B) y=1
C) y=2
D) y=3

答案

参考答案:D

解析: 在程序中指针变量P初始指向a[3],执行p减1后,P指向a[2],语句y=*p的作用是把a[2]的值赋给变量y,所以输出为y=3。

判断题
多项选择题