如何将OR(`||`)的符号放入while循环中?

时间:2018-07-11 16:31:06

标签: c++ loops pointers while-loop integer

在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;

1 个答案:

答案 0 :(得分:1)

从语法上看一切正常。

问题出在条件本身上。您需要进行循环,直到权重减小为止,您应该重新考虑条件本身。条件的第一部分现在不起作用,因为a != b始终为a < b时为真。设置此条件之前,循环将一直持续到weight_of_Limak == weight_of_Bob

您可能最初想使用其他比较符号,可能是<=而不是<