问一个小问题
我在本论坛看到一道题:int x=17,y=5;
x*=x++/--y;
问:x的值是多少??
我用VC做过试验后发现结果与答案一样,都是69。看到一位仁兄的解释为x++/--y就是17/4=4,x*=4就是17*4=68,x在这之后还会自加1,所以是69。看到这里,我发现自己对于--和++的理解不对,以此题为例,我认为x应该在执行x++后立即加1,而不是在整个语句结束之后加1,我知道自己的这种理解是错的,所提请教各位如何理解当作后缀的--和++。在我看过此题之后,我觉得作为后缀的--和++在其变量参与完与其自身有关的所有运算之后立即减1或加1,以此题为例,程序在执行完x++后,因为x还要参与乘法,所以不会立即加1,而是在语句结束之后加1。如果程序改为int a=1,x=17,y=5; ,由于x只参与x++的运算,所有x在x++后立即加1 。我的理解正确吗??请各位不吝赐教。谢谢~
a*=x++/--y;