不同的时候循环是或否条件

TRE*_*MOR 2 c++ while-loop

这是令人沮丧的,看起来我希望循环只有在用户输入"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)

但为什么?

Avt*_*Avt 9

更改

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')总是正确的.