搜索
查看: 965|回复: 6
打印 上一主题 下一主题

《游戏时间》的疑问,为什么while循环用 ||

[复制链接]
跳转到指定楼层
楼主
发表于 2015-7-6 09:13:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
看完了《啊哈c》,终于学会了一点皮毛。有一点点疑惑为什么游戏时间的的迷宫中,while(x!=p || y!=q)中要用 “||” 呢?
“||” 的意思因该是或。为什么不用“&&”并且呢?
为什么用“||”能成功。“&&”就失败呢?

求大神指点!

BaiduShurufa_2015-7-6_9-12-30.png (17.22 KB, 下载次数: 11)

BaiduShurufa_2015-7-6_9-12-30.png

最佳答案

查看完整内容

||逻辑或只要有一个条件为真即可判断为真&&逻辑与却要全部条件为真才判断为真 例子: if(a>b || c>b) { printf("123\n"); } if(a>b && c>b) { printf("123"); } 两个程序是不一样的,第一个只需a>b或c>b 第二个却要a>b与c>b两个条件同时成立 我在写书,引用我自己的句子吧 &&表示逻辑与怎么说呢?a 与 b 在C语言中表示为 a&&b逻辑与必须在所有条件为真时才可以判断为真。比如一个抗日小队,他们必须等——日本 ...
沙发
发表于 2015-7-6 09:13:50 | 只看该作者
本帖最后由 初学C 于 2015-7-6 16:47 编辑

||逻辑或只要有一个条件为真即可判断为真&&逻辑与却要全部条件为真才判断为真
例子:
if(a>b || c>b)
{
printf("123\n");
}

if(a>b && c>b)
{
printf("123");
}

两个程序是不一样的,第一个只需a>b或c>b
第二个却要a>b与c>b两个条件同时成立

我在写书,引用我自己的句子吧
&&表示逻辑与
怎么说呢?
a b  C语言中表示为 a&&b
逻辑与必须在所有条件为真时才可以判断为真。
比如一个抗日小队,他们必须等——日本鬼子结束巡逻并且街上空无一人,确保不漏风才可以行动。
这里,必须得有两个条件:街上无人、日本鬼子结束巡逻
否则就不可以行动(判断为假)
但逻辑或||就不一样了。
||是我们打文章时的顿号(不是可以出问号的那个),他在引号的右边,按shift+顿号按键 实现
还是以抗日队伍为例吧!
这只抗日小队进入目标的房子后发现目标的房门紧锁,为了搞到机密资料,这只抗日小队必须要打开房间的前门或者后门才可以拿到资料。
这里,只需要前门或后门中的一道门打开就可以了。
也就是说,逻辑或||只需要其中的一个条件成立就可以了,只有当全部条件为假时才判定为假。


板凳
发表于 2015-7-6 21:51:30 | 只看该作者
初学C 发表于 2015-7-6 16:40
||逻辑或只要有一个条件为真即可判断为真&&逻辑与却要全部条件为真才判断为真
例子:
if(a>b || c>b)

写书,膜拜!!!发的时候我去捧场!!!
地板
 楼主| 发表于 2015-7-7 10:58:56 | 只看该作者
初学C 发表于 2015-7-6 16:40
||逻辑或只要有一个条件为真即可判断为真&&逻辑与却要全部条件为真才判断为真
例子:
if(a>b || c>b)

“写书”
哇哇哇哇!好赞!
5#
发表于 2015-7-7 13:29:35 | 只看该作者
同学你学过De Morgen律吗……

x!=p || y!=q 用De Morgen律可以转化为 !(x == p && y == q)
这才是平常的思维,把括号去掉就不容易看出来了
6#
发表于 2015-11-14 14:36:10 | 只看该作者
不然到跟出口同一行或同一列的时候就要you win!了
7#
发表于 2015-11-24 09:11:15 | 只看该作者
本帖最后由 caihei 于 2015-11-24 09:12 编辑

我也是看这个有疑问  LZ想通了么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表