“for(;;)”是什么意思?

新手上路,请多包涵

在 C/C++ 中,以下是什么意思?

 for(;;){
    ...
}

原文由 sas4740 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

这是一个无限循环,相当于 while(true) 。当没有提供终止条件时,条件默认为假(即循环不会终止)。

原文由 Justin Ardini 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 C 和 C++(以及许多其他语言)中, for 循环包含三个部分:

  • 预循环部分,在循环开始之前执行;
  • 一个迭代条件部分,当它为真时,将执行循环体;和
  • 在循环体的每次迭代之后执行的后迭代部分。

例如:

 for (i = 1, accum = 0; i <= 10; i++)
    accum += i;

将从 1 到 10 的数字相加。

它大致相当于以下内容:

 i = 1;
accum = 0;
while (i <= 10) {
    accum += i;
    i++;
}

但是,没有什么要求 for 语句中的部分实际上 包含 任何内容,如果缺少迭代条件,则假定它为真。

所以 for(;;) 循环基本上只是意味着:

  • 不要做任何循环设置;
  • 永远循环(尽管有中断、返回等);和
  • 不要做任何后迭代处理。

换句话说,这是一个无限循环。

原文由 paxdiablo 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题