求高手帮忙。若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的是( )

 我来答
旁新树昂然
2020-03-10 · TA获得超过3592个赞
知道大有可为答主
回答量:3131
采纳率:32%
帮助的人:210万
展开全部
*p=a,数组名表示地址,该句话的意思就是p=&a[0],p+=2表示p=&a[2];
接下来我们看看*
++的优先级,两个优先级是一样的,属于右结合。*(p++)首先计算p++,由于++在后面,所以*(p++)相当于计算*p,然后p++;所以a和c相同,至于d
++*p表示++(*p),将*p的值++。我不知道楼主用的什么编译器。对于我的理解,如果是printf(“%d”,*(p++))这种样式输出的话,a
输出是3,b输出是4,c输出的是4,d输出是4
殳妞乌雅明煦
2019-02-16 · TA获得超过3984个赞
知道大有可为答主
回答量:3090
采纳率:34%
帮助的人:181万
展开全部
在数组中,下标(即[]里的数值)从0开始算起,如a[0]=1,a[1]=2.....a[9]=10;p是指下标的值,指数组中的第p+1个元素,因为p的起始值为0。p+=2等效于p=p+2,,所以p=2,即a[2]=3。*++p是指数组中++p所在位置的具体值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式