我可以在for循环中跳过i的值吗?

时间:2019-03-26 09:16:15

标签: c

我是C语言的初学者。我使用了一个嵌套的for循环来检查二维数组中各个元素的条件。基本上,我想检查除第三行中的所有元素。它是否正确?我将值从0转到5并跳过i ​​= 2吗?还是当i = 0,停止并返回true时满足循环条件? 谢谢!

我写了

for(i=0; i<6& i!=2;i++){
     for (j=0;i<6;j++){
        if(board[i][j]!='U'){return true;}
     }
}

2 个答案:

答案 0 :(得分:2)

使用continue开始下一次迭代:

for(i = 0; i < 6; ++i){
    if(i == 2){
        continue;
    }
    for(j = 0; j < 6; ++j){
        if(board[i][j] != 'U'){
             return true;
        }
    }
}

这仅适用于包含continue的最内层循环。

编辑: 这是一个可行的解决方案。 有关干净代码的讨论以及是否使用continue,而不是参考Software Engineering Forum

答案 1 :(得分:1)

for语句的第二个子句用于循环终止条件,因此您不能在其中放置任何无关的内容。在循环体内使用单独的if语句:

for(i=0; i<6; i++)
{
  if(i != 2)
  {
    /* do stuff */
  }
}