菜鸟求答,for语句问题

cjc_729 2012-07-19 09:26:22
我想做一个循环,输入的答案不满足条件时重复输入:如下
#include<iostream>
using namespace std;
void main()
{
int a=10;
cin>>a;
for(;a!=1;)
{
cout<<"您输入的数不是1,请继续输入:";
cin>>a;
}
cout<<a<<endl;
}

可是for中的条件改成多条件或的时候,却不能达到目的,是for问题还是或||符号用错了?求答案:
#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;
}
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
a66606312 2012-07-19
  • 打赏
  • 举报
回复
a!=1||a!=2 逻辑有问题啊,你的循环结束条件是在a==1&&a==2,这能成么? 可以改成a>=1&&a<=2
xiazaihrl 2012-07-19
  • 打赏
  • 举报
回复
a!=1 || a!=2
永远是 真
改成
void main()
{
int a=10;
cin>>a;
for(;(a!=1) & (a!=2);)
{
cout<<"您输入的数不是1或2,请继续输入:";
cin>>a;
}
cout<<a<<endl;
}
aquanull 2012-07-19
  • 打赏
  • 举报
回复
!(A && B) == !A || !B
!(A || B) == !A && !B
逻辑问题。
xiaoji0507 2012-07-19
  • 打赏
  • 举报
回复
用 &&

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧