c语言习题求解 已知指针p的指向如图所示,则执行*p++;后*p的值是
推荐于2017-12-16
展开全部
*p++,首先要知道*和++的优先级相同,自右向左结合。
则相当于*(p++),但是p++的含义是先用后加。所以先用,就是*p这个操作,后加也就是执行p++。
所以*p++就等价于:{*p;p++}
所以当前*p的值就是20,然后p++(该p是指针不是*p所说的指针指向的值)指针后移指向a[3]位置。
此时,*p为30.
则相当于*(p++),但是p++的含义是先用后加。所以先用,就是*p这个操作,后加也就是执行p++。
所以*p++就等价于:{*p;p++}
所以当前*p的值就是20,然后p++(该p是指针不是*p所说的指针指向的值)指针后移指向a[3]位置。
此时,*p为30.
展开全部
优先级一样,结合方向由右向左,所以,*p++和*(p++)效果一样。结果20,指针后移
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*p=30才对
追问
为啥
追答
另一回答已经明确的告诉你了,*与++享有相同的优先级,并且结合方向自右向左++先于p结合为p++,*再与p++结合为*(p++)。如果明白的话就选另一个网友的为满意答案吧,他先于我的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
30
楼主说的是先执行*p++;后*p的值,应该是30
楼主说的是先执行*p++;后*p的值,应该是30
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个明显是30吧。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询