我尝试编写一个循环,以免用户使用||运算符在程序中输入错误类型的数据(实际上是 bool(boolean) 值)。

int Entrer()
{
    int A;
    do
    {
        cout<<"Entrez 0 ou 1."<<endl;
        cin >> A;
    }
    while (A != (1 || 0));
    return A;
}

有人可以告诉我为什么该程序只接受1而不接受0吗?

最佳答案

do { ... } while (A != (1 || 0));

应该是while (A != 1 && A != 0);
否则,A != (1 || 0)代表A != 1,因为(1 || 0)!=之前评估。

关于c++ - 逻辑或优先级,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28812917/

10-16 04:23