如何在没有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:;
}
答案 0 :(得分:2)
goto nj
可以替换为break
。但是,如果您需要突破嵌套循环,break
无法帮助您。我认为这是goto
完全合法的用例。我能想到的唯一选择是将循环计数器设置在其范围之外,例如c = cmax(j)
。在我看来,比goto
更糟糕。
答案 1 :(得分:2)
检查此代码:
QObject