while(a!=1&&c!=1)
{
r=rand()%2;
if(r==0)
{
cout<<"Cruz"<<endl;
if(a==1)
{
c=0;
}
c++;
}
else if(r==1)
{
if(a>1)
{
a=0;
}
cout<<"Cara"<<endl;
a++;
}
b++;
}
我不知道为什么,但是当两个条件中的一个是假的时候,这个循环总是退出......当两者都是假的时候我需要。 有谁知道为什么会这样?
答案 0 :(得分:1)
逻辑和操作仅在满足两个条件时才返回true。如果您需要循环工作,请使用逻辑OR运算符,当满足任何一个条件时返回true。请参阅下面的真值表。请检查您是否使用了正确的逻辑运算符
答案 1 :(得分:0)
非常确定您需要||
而不是&&
,因为如果 中的是真实的语句,您希望它继续。 (或者,这可能会更加连贯,你可以这样做:!(a==1||c==1)
)
答案 2 :(得分:0)
在while
语句之后,您解释了在代码继续循环时必须保持为真的的条件。由于您希望在a
和 b
拥有某些属性时退出,因此您需要继续while
a
或 b
没有该属性。
假设你的家庭作业和家务都完成后你就无法入睡。这意味着您需要保持清醒while
您的家庭作业或您的家务活未完成。