在C ++中,为什么不能在这样的while循环中放置OR(||
)的符号?
int weight_of_Limak,weight_of_Bob,sum=0;
cin>>weight_of_Limak>>weight_of_Bob;
while((weight_of_Limak<weight_of_Bob) || (weight_of_Limak!=weight_of_Bob))
{
sum++;
weight_of_Limak*=3;
weight_of_Bob*=2;
}
cout<<sum;
答案 0 :(得分:1)
从语法上看一切正常。
问题出在条件本身上。您需要进行循环,直到权重减小为止,您应该重新考虑条件本身。条件的第一部分现在不起作用,因为a != b
始终为a < b
时为真。设置此条件之前,循环将一直持续到weight_of_Limak == weight_of_Bob
。
您可能最初想使用其他比较符号,可能是<=
而不是<
?