【问题标题】:Continue inside nested loop in C在 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:哪种方式更好?第一个还是第二个?

标签: c nested-loops continue


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    为什么要使用continue

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

    【讨论】:

      猜你喜欢
      • 2010-11-11
      • 1970-01-01
      • 2015-12-05
      • 2015-04-16
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 1970-01-01
      相关资源
      最近更新 更多