有下列程序:    #include  <stdio.h>    main()    {int a[]={1,2,3,4},y,*p=&a[3];      --p; y=*p; printf("y=%d\n",y);    }    程序的运行结果是( 

admin2009-08-24  23

问题 有下列程序:    #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)正确。
转载请注明原文地址:https://jikaoti.com/ti/ibI0FFFM
0

最新回复(0)