我尝试编写一个循环,以免用户使用||
运算符在程序中输入错误类型的数据(实际上是 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/