工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1345|回复: 5

就助 有关C语言

[复制链接]
发表于 2006-2-26 21:53 | 显示全部楼层 |阅读模式
我刚开始学这种语言,遇到下面的问题,老是想不明白:

int x=0,y=1;
问执行表达式++x||y++后为什么y的值是1

希望各位高手不吝赐教,谢谢!
发表于 2006-2-26 23:11 | 显示全部楼层
当++x的运算的值为非0时,y++不再执行.
如果改成++x&&y++,
那么,y的值会变成2.
回复

使用道具 举报

发表于 2006-2-27 11:14 | 显示全部楼层
楼上你终于做了点好事了...

补充楼上的:楼上那个概念叫做逻辑短路,就是在&&和||运算符中,如果前一个条件已经足以决定整个逻辑表达式的结果的时候,逻辑运算符后面的语句不再执行.比如1||x++,这里x++不会执行,再比如0&&x++,同样x++不会执行.
回复

使用道具 举报

发表于 2006-2-28 19:33 | 显示全部楼层
其实是我手贱,
这是我曾经思考过的问题。
见到一时手贱就说了一下。

还是你的解释 比较全面,PF一下。
回复

使用道具 举报

发表于 2006-3-2 00:10 | 显示全部楼层
楼上终于学会奉承了...哈哈,,,恭喜...进步了.
回复

使用道具 举报

发表于 2006-3-3 12:07 | 显示全部楼层
请不要误解我。。
该 PF的我会PF,该 叼的我还叼。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-5-15 10:10

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表