2

我进行了一个函数调用,当它返回 false 时,我继续无限期地检查,直到它返回 true。下面的代码可以吗?

while(true)
{
  bool result = func();

  if(result == false)
    continue;
  else
    break;
}
4

4 回答 4

4

你可以这样做,但为什么不只是:

while(!func())
{
    // do what you want to do...
}
于 2013-10-15T09:59:28.457 回答
4

如何摆脱breakand continue。使用它们被认为不是很好(尤其是在不需要时):

bool result;
do
{
   result = func();

   if(result == false) {
      // Supposedly you want to do something here...?
   }
} while(result == false);

当然,您可以使用!而不是false在源代码中保存一些字节。但我认为这在这一点上并不重要。

于 2013-10-15T09:59:39.960 回答
2

为什么不使用

while (!func());

反而?有些人不喜欢看到空的while,因此可能更喜欢@dwxw 的解决方案。

于 2013-10-15T09:58:38.627 回答
0

你可以让它更短。

    do 
    {
    } while (!func());
于 2013-10-15T09:57:43.107 回答