在 C 中的嵌套循环内继续

Posted

技术标签:

【中文标题】在 C 中的嵌套循环内继续【英文标题】:Continue inside nested loop in C 【发布时间】:2017-01-26 19:00:31 【问题描述】:

以下示例如何继续工作?

for(i = 0; i < 10; i++) 
    if( j && j->data != some_data) 
        continue;
    

    if(j) 
       /* do something */
    

我可以将这两个内部循环结合起来并获得相同的结果吗:

for(i = 0; i < 10; i++) 
    if(j) 
       if(j->data != some_data) 
          continue;
       

       /* do something */
     

【问题讨论】:

if 语句不是循环。 是的,可以。 好的,谢谢@Quentin。 哦,我的坏@GovindParmar。因此,for 循环中有多少 if 语句并不重要。感谢您的澄清! @Quentin:哪种方式更好?第一个还是第二个? 【参考方案1】:

您的示例不包含嵌套循环。代码中只有一个for 和/或while。因此continue 语句的位置仅取决于您的程序逻辑。

如果您确实有一个嵌套循环,那么 continuebreak 只会影响最内层的循环。

【讨论】:

【参考方案2】:

为什么要使用continue

for(i = 0; i < 10; i++) 
    if( j && j->data == some_data) 
       /* do something */
    

【讨论】:

以上是关于在 C 中的嵌套循环内继续的主要内容,如果未能解决你的问题,请参考以下文章

有两个循环,他们是嵌套关系,在内循环中使用break将终止哪一个循环?

Python中的嵌套循环

两个嵌套for循环的执行顺序

for 循环与嵌套

谁能教我VB for循环的嵌套怎么算

while循环嵌套需要注意的点,