你能把一个复杂的条件放到for循环中吗?

Bra*_*don 0 c++ for-loop

while (status)

for (int i = 0; i < 3; i++)
Run Code Online (Sandbox Code Playgroud)

以下语法是否正确:

for (int i = 0; i < 3; i++ && status)
Run Code Online (Sandbox Code Playgroud)

如果status为true,我试图让for循环中断.

Ada*_*ers 16

从语法上讲,您可能希望使用:

for (int i = 0; i < 3 && status; i++)
Run Code Online (Sandbox Code Playgroud)

这是有效的.

有些人认为它形式不好,因为它会导致更复杂的循环和烦恼的维护程序员.您可能想要探索的另一种选择是:

for (int i = 0; i < 3; i++) {
     if (!status) { break; }
}
Run Code Online (Sandbox Code Playgroud)

  • 是的,只要最后有一个笑脸,谁在乎我们的言行.在有人失去视力之前,这都是有趣的游戏..-) (3认同)
  • +1,我不同意任何人说"永不使用-..." (2认同)