如何在while循环中处理多个类似的条件?

Waz*_*Waz 1 c microcontroller arduino while-loop

对不起那么难以捉摸的标题,但这是我将用来解释我的问题的代码片段!

while(motors[0].cycle <= maxcycle
   && motors[1].cycle <= maxcycle
   && motors[2].cycle <= maxcycle
   && motors[3].cycle <= maxcycle
   && motors[4], etc ...)
Run Code Online (Sandbox Code Playgroud)

我如何避免为while()循环键入这个非常长的条件,因为我总是检查相同的参数,只有我的结构的索引正在改变.

R S*_*ahu 6

我怎么能避免输入这么长的条件,知道我总是检查相同的参数,只有我的结构的索引正在改变.

添加一个函数来执行检查并使用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))
{
}
Run Code Online (Sandbox Code Playgroud)