这是令人沮丧的,看起来我希望循环只有在用户输入"N"或"n"时才会中断.
#include <iostream>
int main()
{
char abc;
std::cin >> abc;
while (abc != 'N' || abc != 'n')
{
std::cout << "hello world\n";
std::cin >> abc;
}
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这些工作:
while(abc == 'Y' || abc == 'y')
while(abc == 'N')
Run Code Online (Sandbox Code Playgroud)
但为什么?
更改
while (abc != 'N' || abc != 'n')
Run Code Online (Sandbox Code Playgroud)
至
while (abc != 'N' && abc != 'n')
Run Code Online (Sandbox Code Playgroud)
因为
(abc != 'N' || abc != 'n')总是正确的.