问题 单项选择题

有以下程序: #include<stdio.h> main() {inta[]={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

解析: 程序首先定义了一个一维数组和指针,接着将数组第4个元素的地址赋给*p,进行-p使指针p指向了数组的第3个元素;通过y=*p,将数组第3个元素的值3赋给了y,所以选项D)正确。

单项选择题
单项选择题