'继续'哪个循环?用旗帜行事?

时间:2016-04-05 08:33:36

标签: c++ c loops flags continue

continue语句应该作用于内循环,对吧?或者我错过了什么?

    for (j=0; j< 100; j++)
    {
    for (i=0 ; i<10; i++)
    {

    bool flag = false;

        //CALL TO A FUNCTION WHICH, BASED ON SOME CONDITION, MODIFIES FLAG AND RETURNS IT TO THIS LOOP

         if(flag)
           {
             continue;  //SHOULDN'T IT CONTINUE THE LOOP ON i??????
           }

       //CALLS TO SOME OTHER FUNCTIONS WHICH SHOULDN'T BE CALLED IF FLAG IS 1

      }
   }

2 个答案:

答案 0 :(得分:2)

继续将移动到调用它的最近循环的下一个迭代。在你的情况下,它将移动到第二个循环的下一个迭代,即具有值i的循环。

如果i的值在遇到时继续为9,那么它将进入第二个循环,并且随着i的值在增量后变为10,它不满足条件,它将移动到外循环的下一次迭代价值j。

答案 1 :(得分:0)

如果内循环计数器(i)在遇到continue语句时为9,则内循环将退出,并且在进入内循环之前将发生外循环的一次迭代,其计数器初始化为0。