伙计! 我正在用C++编写一个程序来演示'do-while'循环。只要不是“再见”,该程序只会回应用户输入的任何内容。 因此,如果用户输入'嘿',程序会回应'嘿',如果用户输入'再见',程序将停止。这是代码: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的完整问题? – StoryTeller
只需申请[德摩根法律](https://en.wikipedia.org/wiki/De_Morgan%27s_laws),你就会明白为什么。 – Jodocus
逻辑;这个时间总是等于1。使用AND时,当任一条件为0时,该时间将为0. – JDQ