C++中的自减符号

x= 5;
y=--x+--x/2;
结果y等于多少,x又等于多少?
----------------------------------------(下面是pFan论坛里某兄解释的
从优先性来看,先算--
所以两个--先算。
第一个
--x后x=4,
第二个
--x后x=3

y = 3 + 3/2;

y = 4, x=3;

-----------------------------------------
结果是y=4,x=3,是对的,但上面分析过程好像有问题

因为+左右是表达式相加,而不是x相加。所以x--后这个表达式就为4,而后面表达式为3/2 = 1,既y = 4+1;(结果错误,但好像我的思路也没错,奇怪,我的思路写出来了,没错吧,结果是错的,上面那pFan兄思路是错的,而结果却是对的。晕!)

我感觉他解释不对,但我自己也说不出个见解。放在这里,以后请教高手吧,没办法(俺菜啊!)

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭