C多循环()基础知识

时间:2016-04-27 19:59:08

标签: c++ c for-loop

如何在没有goto且没有额外程序调用的情况下编写示例代码?

for(i=0;i<imax;i++)
{   for(j=0;j<jmax(i);j++)
    {   for(c=0;c<cmax(j);c++)
        {   if(!check1(c))
            {    if(check2()) goto ni;
                 else goto nj;
            }
        }
    // **EDIT** procedure call is here
nj:;
    }
ni:;
}

2 个答案:

答案 0 :(得分:2)

goto nj可以替换为break。但是,如果您需要突破嵌套循环,break无法帮助您。我认为这是goto完全合法的用例。我能想到的唯一选择是将循环计数器设置在其范围之外,例如c = cmax(j)。在我看来,比goto更糟糕。

答案 1 :(得分:2)

检查此代码:

QObject