设a=1;b=2;,则(a++)+b和a+++b这两个表达式的值分别为( )

2025-03-10 20:50:19
推荐回答(5个)
回答1:

(a++)+b等同于a+b之后a+1,这个表达式执行完之后,表达式的值是3,a的值是2
a+++b,因为 ++ 的结合型是自左向右,所以它就等同于(a++)+b
但是如果这两个表达式放在一个程序里的话,由于先执行了第一个表达式,a=2,再执行第二个表达式,所以第二个表达式的值是4,最后a=3

回答2:

(a++)+b=3
a+++b=3
错了,都是3
因为(a++)+b等价于a+++b
++本身的优先级就比+要高,所以先运算,再++,即先进行a+b的操作,然后再a++;

回答3:

(a++)+b ===》a++先用再自增1. 结果就是a+b

回答4:

从左向右按优先级算,都是3,a++先用后加

回答5:

4,4.参考下运算符优先级