标题:这个while循环语句为什么会成为死循环?
只看楼主
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
已结贴  问题点数:20 回复次数:6 
这个while循环语句为什么会成为死循环?
#include <iostream>
using namespace std;
int main()
{
    char x;
    do
    {
    cout<<"现在正在下雨么?"<<endl;
    cin>>x;
    }
    while (x!='Y'&&x!='y'||x!='N'||x!='n');
    if(x=='Y'||x=='y')
    cout<<"现在正在下雨。"<<endl;
    else
    cout<<"现在没有下雨。"<<endl;
    return 0;
}


[此贴子已经被作者于2017-10-27 22:57编辑过]

搜索更多相关主题的帖子: while 语句 死循环 cout || 
2017-10-27 22:39
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
初学者。。请多多指教、
2017-10-27 22:40
huixph
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2017-10-16
得分:7 
while (x!='Y'&&x!='y'||x!='N'||x!='n');
用了逻辑或,当x=Y或y时x!='N'||x!='n'为真,当x=N或n时x!='Y'&&x!='y'为真,当x为其他时x!='Y'&&x!='y'||x!='N'||x!='n'都为真
所以一直循环。

同初学者,如有不对,请多指教
2017-10-28 10:14
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
回复 3楼 huixph
如果只有Y和N我会改,但是有y,Y,N,n该怎么改?
2017-10-28 22:05
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:7 
while (x!='Y' && x!='y' && x!='N' && x!='n');
2017-10-28 22:58
蓝天绿水
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:29
注 册:2017-9-16
得分:7 
楼上正解,当x都是Y,y,N,n,继续循环
2017-10-29 17:53
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
好的 谢谢你们。
2017-10-29 23:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481848-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.506503 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved