【发布时间】:2020-09-13 15:46:47
【问题描述】:
对不起,这段代码看起来很傻,但我只是想了解一下逻辑。
当用户输入quit 作为输入时,我正在尝试结束程序。
我写了name != "quit" && sname != "quit" 作为while 条件,所以如果其中任何一个是quit,循环就会结束(对吗?)。
但是当我将quit 写成name 时,它仍然等待sname 输入,如果我也为sname 输入写退出,那么它终于结束了。但是,自从我用&& 编写条件后,它第一次看到quit 时不应该结束吗?
此外,当我用|| 编写条件时,我得到了相同的输出。为什么会这样?
int main()
{
string name="",sname="";
cout << "enter your name and surname \n";
cout << ">>name=";
getline(cin,name);
cout << ">>surname=";
getline(cin,sname);
while (name != "quit" && sname != "quit")
{
cout << ">>name=";
getline(cin,name);
cout << ">>surname=";
getline(cin,sname);
}
return 0;
}
输出:
enter your name and surname
>>name=John
>>surname=Wick
>>name=quit
>>surname=
【问题讨论】:
标签: c++ loops while-loop