【问题标题】:What does a for (;;) loop do [duplicate]for(;;)循环有什么作用[重复]
【发布时间】:2016-10-01 13:09:58
【问题描述】:

在一个 c/c++ 文件中我发现了一个奇怪的 for 循环

for (;;) {...}

我不知道这是否运行一次、无限期或以其他方式运行 来源:https://git.kernel.org/cgit/linux/kernel/git/jejb/efitools.git/tree/PreLoader.c87号线

【问题讨论】:

  • while(true)-loop 相同。
  • for(;;) 等同于while(1)。它是一个无限循环。
  • 谢谢。我不确定,在网上什么也没找到
  • 你可以自己尝试一下。
  • 永远孤独的循环。

标签: c++ c for-loop


【解决方案1】:

for(;;) 循环将永远持续下去,直到循环内的某个命令导致它终止。

此类命令的一些示例是“break”或“return”

【讨论】:

    【解决方案2】:

    在Linux内核中,无限循环是这样写的,而不是其他项目中常见的while(true)while(1)。这是风格问题。

    【讨论】:

      【解决方案3】:

      这是一个无限循环。这是一个普通的for 循环,没有条件表达式。它相当于while(1)。在几乎所有CC++ 程序员看来,这有点奇怪,应该避免。我认为来自C/C++ 背景的人更有可能更喜欢while(1) 而不是for(;;)

      K&R 第 2 版 3.5:

      是一个“无限”循环,可能会被其他方式打破,例如 作为休息或回归。使用 while 还是 for 在很大程度上是一个问题 个人喜好。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2021-06-04
          • 1970-01-01
          • 2021-02-08
          • 2021-06-28
          • 1970-01-01
          • 2021-02-28
          • 1970-01-01
          • 1970-01-01
          • 2018-11-07
          相关资源
          最近更新 更多