日期:2014-05-20  浏览次数:20761 次

请问 int count = 0;if((count++) == 0) 是真是假?
请问   int   count   =   0;if((count++)   ==   0)   是真是假?

------解决方案--------------------
真,先判断后自增
------解决方案--------------------
应该是真.count=0
count++之后,count的值为1,但结果为0.
------解决方案--------------------
终于知道楼主的疑惑在哪里了 ;)

道理是这样的:括号影响的是“结合”的顺序,而不是“计算”的顺序。

这可能有点迷惑,大多数情况下,“结合”的顺序就是“计算”的顺序。而对于自增(++)和自减(--)运算符而言,它的“结合”跟“计算”是分开的,“计算”发生在整个表达式的值计算开始之前(对于前自增/前自减)或者完成之后(对于后自增/后自减)。