a--和--a有什么区别,什么情况下是相同的,什么情况下是不同的,求解答
如果单独一行执行
a--和--a是等价的
如果是放到if、while或者其他表达式里面
比如b=a--
那么就完全不同了
--a先--后取值,a--先取值后--
注意,是整个表达式计算前或计算后执行,跟--写在表达式的哪个位置无关
-=-=-=
回到标题
如果a=1,那么if(a--)取到的值还是1,但是当进入if内部之后,a的值变成了0
如果是if(--a),则取到的值是0,条件不满足
如果这两个表达式单独成行,也最终结果相同,如果使用在表达式中,则不同,a--是先赋值,再自减,__a先自减,再赋值