【发布时间】:2018-05-09 09:16:15
【问题描述】:
伙计们! 我正在用 C++ 编写一个程序来演示“do-while”循环。只要不是“再见”,程序就会简单地回显用户键入的任何内容。 因此,如果用户输入“嘿”,程序会回显“嘿”,如果用户输入“再见”,程序就会停止。这是代码:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
string wordString;
do
{
cout << "\nEnter a word: ";
getline(cin, wordString);
cout << "\nYou entered: " << wordString<<"\n";
} while ((wordString!="goodbye")||(wordString!="Goodbye"));
return 0;
}
我想做的是让程序在用户输入“再见”或“再见”时停止。所以我添加了||检查它,但它不起作用,并且 循环语句只是继续执行。 但是当我把 && 而不是 ||它工作正常,只要输入“再见”或“再见”,程序就会停止。
所以我的问题是:为什么 && 工作和 ||不是吗?
【问题讨论】:
-
在一张纸上为
wordString分配不同的值,并查看每个条件的评估结果。这真的值得对 SO 提出一个完整的问题吗? -
只需申请De Morgan's law,您就会明白为什么。
-
逻辑; while 将始终等于 1 与 OR。使用 AND,当任一条件为 0 时,while 将为 0。
-
你有没有想过?
-
没有帮助,@manni66
标签: c++ loops operators do-while