抱歉,标题不是那么难以捉摸,但这里是一段代码,我将用来解释我的问题!

while(motors[0].cycle <= maxcycle
   && motors[1].cycle <= maxcycle
   && motors[2].cycle <= maxcycle
   && motors[3].cycle <= maxcycle
   && motors[4], etc ...)

我如何才能避免为while()循环输入这个很长的条件,因为我总是检查同一个参数,只有结构的索引在变化。

最佳答案

我怎么能避免输入这么长的条件,因为我总是检查同一个参数,只有结构的索引在变化。
添加一个函数来执行检查并使用while语句中的函数。

// MotorType is my contrived type. Use the right type.
bool doCheck(MotorType* motors, int count, int maxcycle)
{
   for (int i = 0; i < count; ++i )
   {
      if ( !(motors[0].cycle <= maxcycle) )
      {
         return false;
      }
   }
   return true;
}

while(doCheck(motors, count, maxcycle))
{
}

10-06 02:03