int a=2,b=3,c=4,d; d=++a+b+++c++; java中输出是10,请问为什么啊

 我来答
百度网友5acad1e
2011-06-15 · TA获得超过633个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:201万
展开全部
++在后面,先取值再自加。++在前面,先自加,再取自加之后的值。
变量的值 和 计算之后的值要分开来看的。
此处:从后向前计算。
表达式这么写:d=(++a)+(b++)+(c++);
=> d = (++a)+(b++)+4 【 此时: c = 5】
=> d = (++a)+3+4 =>(++2)+7 【 此时:b = 4,c=5】
=> d = 3+7 = 10 【 此时:a = 3;b = 4,c=5】
百度网友1a812615e
推荐于2017-10-11 · TA获得超过1146个赞
知道小有建树答主
回答量:739
采纳率:66%
帮助的人:419万
展开全部
d=3+3+4=10
++a表示先自增1然后参与运算
a++表示运算后再自增1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
remixxcapter
2011-06-15 · TA获得超过105个赞
知道答主
回答量:67
采纳率:0%
帮助的人:68.2万
展开全部
根据运算符优先级可将等式看做(++a)+(b++)+(c++)=3+3+4=10
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzxandlyh
2011-06-15
知道答主
回答量:44
采纳率:0%
帮助的人:24万
展开全部
++a 是先运算后使用 ++a=a+1=3
b++是先运算后使用 b++=b=3
c++同a++
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吃鱼的鸽子
2011-06-15 · 超过18用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:41.3万
展开全部
3+3+4 = 10

++a 是先让a自加后计算 b++ c++ 都是先计算后自加

计算完成后 abc都分别+1了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式