问题
单项选择题
有下列程序: #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,进行--p使指针p指向了数组的第三个元素,通过 y=*p:将数组第三个元素的值3赋予y,所以选项D)正确。