C - 继续 n 次 for 循环
C - continue n times a for loop
如何使用continue关键字,继续n次循环。就像在 shell 中一样,我们可以执行 continue 2 以跳过 2 次迭代。
如何在 C 中实现这一点。
您不能使用 continue
执行此操作,但您可以跳过 for
递增变量的循环以跳过 n
次迭代。
for (int i = 0; i < 10; i++)
{
if (some_condition)
i += nSkip;
(...)
}
从根本上说,这是一个编程风格问题,而且这些问题总是容易引起自以为是的争论。 Reader 小心。 :-)
C没有break(n)
和continue(n)
。这是一个深思熟虑的选择。人们觉得这些构造太难维护了。以后的程序员很难计算和跟踪嵌套循环。对于后来的程序员来说,插入或删除嵌套级别太容易了,从而忽略了计数。
转向最大的风格辩论之一的根源,有些人说 goto
是邪恶的,永远不应该使用。还有一些人说 break
和 continue
只是变相的 goto,永远也不应该使用它们。就个人而言,我不同意这两个立场,但我 同意 break(n)
和 continue(n)
与纯 [=12= 相比几乎没有价值];它们至少同样令人困惑并且容易出错。因此,如果您发现自己在 C 中需要 break(n)
或 continue(n)
,并且别无他法,那就硬着头皮使用 goto
。您需要 break(n)
或 continue(n)
的事实证明您正在做一些无法挽回的丑陋事情,因此 goto
不会让事情变得更糟。
(现在,确实如此,将 break(n)
替换为 goto out;
很容易,但几乎没有那么容易。一般来说,将 continue(n)
替换为goto
。因此,您可能不得不做其他事情,这可能会很丑陋,但同样,当您到达这里时,无论如何您都注定要这样做。)
另见 及其答案,尽管那里的讨论专门针对 break(n)
,而不是 continue(n)
。
int i;
for (int i = 0; i < 10; i++)
{
if (n<=2)
continue;
else
<do your task>
}
如何使用continue关键字,继续n次循环。就像在 shell 中一样,我们可以执行 continue 2 以跳过 2 次迭代。 如何在 C 中实现这一点。
您不能使用 continue
执行此操作,但您可以跳过 for
递增变量的循环以跳过 n
次迭代。
for (int i = 0; i < 10; i++)
{
if (some_condition)
i += nSkip;
(...)
}
从根本上说,这是一个编程风格问题,而且这些问题总是容易引起自以为是的争论。 Reader 小心。 :-)
C没有break(n)
和continue(n)
。这是一个深思熟虑的选择。人们觉得这些构造太难维护了。以后的程序员很难计算和跟踪嵌套循环。对于后来的程序员来说,插入或删除嵌套级别太容易了,从而忽略了计数。
转向最大的风格辩论之一的根源,有些人说 goto
是邪恶的,永远不应该使用。还有一些人说 break
和 continue
只是变相的 goto,永远也不应该使用它们。就个人而言,我不同意这两个立场,但我 同意 break(n)
和 continue(n)
与纯 [=12= 相比几乎没有价值];它们至少同样令人困惑并且容易出错。因此,如果您发现自己在 C 中需要 break(n)
或 continue(n)
,并且别无他法,那就硬着头皮使用 goto
。您需要 break(n)
或 continue(n)
的事实证明您正在做一些无法挽回的丑陋事情,因此 goto
不会让事情变得更糟。
(现在,确实如此,将 break(n)
替换为 goto out;
很容易,但几乎没有那么容易。一般来说,将 continue(n)
替换为goto
。因此,您可能不得不做其他事情,这可能会很丑陋,但同样,当您到达这里时,无论如何您都注定要这样做。)
另见 break(n)
,而不是 continue(n)
。
int i;
for (int i = 0; i < 10; i++)
{
if (n<=2)
continue;
else
<do your task>
}