问题
单项选择题
有以下程序: #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)正确。