&安培;&安培;条件作为||在c中执行while循环

时间:2015-10-08 18:33:22

标签: c comparison-operators

此代码中的AND&&)条件评估为OR||)。例如,当用户输入数字 6 7 时,输出 12 但是当我用{{替换&&时1}}输出 42

||

2 个答案:

答案 0 :(得分:3)

不,&&条件正在作为and条件工作,正如它应该的那样。当您输入67时,max%a会在0max时评估为12。此时max%a != 0评估为falsefalse && true == false),max%a != 0 && max%b != 0评估为false,您的循环退出。但是,对于max%a != 0 || max%b != 0 truemax%b 5max评估为12 b7 },false || true == true),所以循环继续。

答案 1 :(得分:0)

我会将do {..} while (...);循环更改为:

while (1)
{
   max++;
   if ( max%a == 0 && max%b == 0 )
   {
      break;
   }
} 

至少对我来说,这更容易理解。