int a,b=1; a=(b++)+(++b)-(--b);执行后a,b的值各是多少?

 我来答
召利叶闾卿
2019-07-12 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:34%
帮助的人:931万
展开全部
a=(b++)+(++b)-(--b)
这个式子中因为出现两次前置运算,所以执行的顺序是首先进行++b,结果为b=2,然后和前面的b++结合得到4,然后和后面的-(--b)进行运算,首先--b,b=1,4-1=3,完成后再进行b++运算,所以最后结果是a=3,b=2
殷秀梅森烟
2019-07-24 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1231万
展开全部
a=1
b=2
(B++,B还是1)+(++B,B就是2)-(--B,B=1)
原理是这样的编译器首先执行括号内,B++是先计算后增1,++B是先增1后计算,B++的时候由于是先计算后增加所以B的值还是1,然后编译++B这个是先增1后计算,B现在的值就是2了,在编译--B,这个原理和++B是一回事,++B过后B的值为2,--B执行过后B的值就是1了,所以A=1
B=2
为什么B=2呢,是因为那个B++,那表达式执行完以后B++的值就增1了,所以B=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式