永发信息网

有以下程序段int a[10]={0,1,2,3,4,5,6,7,8,9},*p=&a[3],b;

答案:2  悬赏:30  手机版
解决时间 2021-05-23 22:53
  • 提问者网友:雨不眠的下
  • 2021-05-22 23:17
*p=&a[3]这条语句相当把p指向了数组a中的第三个元素的内存上即*p=2,b=p[2]相当于p+=3;b=*p所以b=a[6] .这是解答,但还是有点不明白,b=p[2]相当于p+=3;b=*p能不能讲的详细一些
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-05-22 23:25
这样的,p是个指针,p=&a[3],就是说p指向了数组第四个元素的地址(3的地址)。这时把p看做数组首地址来取元素的时候,比如p[2],那么就是以p为首地址的第三个元素,即(5)。而5呢,在原数组中是第6个元素。所以你在看解释就懂了。
全部回答
  • 1楼网友:雾月
  • 2021-05-23 00:30

你写的语句有点问题,我整理一下应该如下:

int a[10]={0,1,2,3,4,5,6,7,8,9};

int *p=&a[3];  【下标从0开始,因此这句话的意思是定义一个int类型的指针P,指向数组a的第4个元素,即*p=3】

b;    这一行不清楚是什么意思

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯