为什么devc显示是1,vs是0
不同编译器下自增和自减处理逻辑的不同
visual studio中的处理方式:
--在变量后面的时候,先处理其他算式,最后再计算--,所以最后等于0
这应该是编译器实现的差异。
我的环境运行,输出为1。我认为输出1是合理的。
这个问题跟i--和--i的区别有关,他们的赋值和求值的顺序不同。i--是先赋值再自减; --i是先自减再求值。
就本例来说,> 先计算左值,左值i--先赋值再自减,因此左值为1, 然后自减x的值变为0; 有值为(x+y) = 0。所以 1 > 0结果为True,因此输出为1。