菜鸟求答,for语句问题
我想做一个循环,输入的答案不满足条件时重复输入:如下
- C/C++ code
#include<iostream>using namespace std;void main(){ int a=10; cin>>a; for(;a!=1;) { cout<<"您输入的数不是1,请继续输入:"; cin>>a; } cout<<a<<endl;}可是for中的条件改成多条件或的时候,却不能达到目的,是for问题还是或||符号用错了?求答案:
- C/C++ code
#include<iostream>using namespace std;void main(){ int a=10; cin>>a; for(;a!=1||a!=2;) { cout<<"您输入的数不是1或2,请继续输入:"; cin>>a; } cout<<a<<endl;}[解决办法]
用 &&
[解决办法]
!(A && B) == !A || !B
!(A || B) == !A && !B
逻辑问题。
[解决办法]
a!=1 || a!=2
永远是 真
改成
void main()
{
int a=10;
cin>>a;
for(;(a!=1) & (a!=2);)
{
cout<<"您输入的数不是1或2,请继续输入:";
cin>>a;
}
cout<<a<<endl;
}