为了账号安全,请及时绑定邮箱和手机立即绑定

关于a=++b 和a=b++符号优先级问题

由优先级表格可以知道

++  -- 优先级 比=高

可是 如果这样算 a=++b与a=b++没有区别

但是 实际上两个值不相同

正在回答

2 回答

这位兄弟提的问题不是运算符优先级别的问题,而且表达式书写不同而得到不同结果的问题,java中就是规定 a++与++a的结果是不一样的,其实其他语言也是这么规定的。 ++a 或者 a++ 都是一个完整的表达式,不能被拆分的。 

你问题中 第二个表达式 a = b++; 并不是因为优先级 b先自加 然后再将结果给a ,而是只要b++这么写了,就一定会执行 b=b+1,然后整个b++的结果为b给a进行赋值。

第一个表达式 a= ++b;其实也是执行了2步,先b = b+1,然后整个++b的结果为b+1给a进行赋值。

0 回复 有任何疑惑可以回复我~
#1

鱼入深海 提问者

非常感谢!
2018-08-02 回复 有任何疑惑可以回复我~

a=++b是b先自增后再赋值给a,

a=b++是先将b值赋值给a后b再自增。


2 回复 有任何疑惑可以回复我~
#1

鱼入深海 提问者

我的意思是 ++ 比 = 优先级高 a=b++ 和a=++b 中 ++都比=高 这样算 答案是一样的
2018-07-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于a=++b 和a=b++符号优先级问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信