就助 有关C语言
我刚开始学这种语言,遇到下面的问题,老是想不明白:int x=0,y=1;
问执行表达式++x||y++后为什么y的值是1
希望各位高手不吝赐教,谢谢! 当++x的运算的值为非0时,y++不再执行.
如果改成++x&&y++,
那么,y的值会变成2. 楼上你终于做了点好事了...
补充楼上的:楼上那个概念叫做逻辑短路,就是在&&和||运算符中,如果前一个条件已经足以决定整个逻辑表达式的结果的时候,逻辑运算符后面的语句不再执行.比如1||x++,这里x++不会执行,再比如0&&x++,同样x++不会执行. 其实是我手贱,
这是我曾经思考过的问题。
见到一时手贱就说了一下。
还是你的解释 比较全面,PF一下。 楼上终于学会奉承了...哈哈,,,恭喜...进步了. 请不要误解我。。
该 PF的我会PF,该 叼的我还叼。
页:
[1]