执行语句:x=y=2;t=++x||++y;后 y的值为什么不是3呢?++y不是y=y+1吗?

如题所述

这是因为程序执行的问题,当解析器遇到了||时,只要前面的++x为真,后面的语句就不执行了。。。
所以++x的值为3(此时为真),++y就不执行了。。。
希望可以帮助你,谢谢采纳。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-09
不是,如果++y和y++不一样的 y++是先调用后加1,++y 是先加1后调用
第2个回答  2013-01-09
这个是短路执行的典型case
&& || 都是短路执行平判断符号

& | 是全部执行

简单说 当++x 为真 不存在异常错误的时候 因为是||的关系
程序就不执行++y了 如果使用|符号 程序 需要执行符号逻辑判断 两边的表达式 再进行逻辑返回
第3个回答  2013-01-09
可能++y没执行
第4个回答  2013-01-09
嗯,不执行