C++ C++;:如何决定循环是否继续?
我嵌套了do-while、while和for循环 有没有办法决定“继续”哪个循环?各种各样的解决方案都很好(不仅仅是goto…)谢谢C++ C++;:如何决定循环是否继续?,c++,loops,for-loop,while-loop,goto,C++,Loops,For Loop,While Loop,Goto,我嵌套了do-while、while和for循环 有没有办法决定“继续”哪个循环?各种各样的解决方案都很好(不仅仅是goto…)谢谢 while (foo==true) // loop1 { do { for(int i=0; i<someNumber ; i++) // loop3 { if( soo==1) { <CONTINUE_TO_LOOP1> }
while (foo==true) // loop1
{
do
{
for(int i=0; i<someNumber ; i++) // loop3
{
if( soo==1)
{
<CONTINUE_TO_LOOP1>
}
else if( soo==2 )
{
<CONTINUE_TO_LOOP2>
}
else if( soo==3 )
{
<CONTINUE_TO_LOOP3>
}
}
} while (moo==true) //loop2
}
while(foo==true)//loop1
{
做
{
对于(int i=0;iCONTINUE\u TO\u LOOP3简单:CONTINUE
继续循环2容易:break
继续循环这是一个有趣的循环:
- 如果不使用四个字母的单词
goto
- 或者在loop2周围放置一个试扣,然后用一个提升器离开
- 或者假设loop1的结尾和loop2的结尾之间没有代码:
moo=false;
中断;
也许你可以做这项工作
while (foo==true) // loop1
{
do
{
for(int i=0; i<someNumber ; i++) // loop3
{
if( soo==1)
{
break;//<CONTINUE_TO_LOOP1>
}
else if( soo==2 )
{
break;//<CONTINUE_TO_LOOP2>
}
else if( soo==3 )
{
continue;//<CONTINUE_TO_LOOP3>
}
}
if( soo==1)
{
break;//<CONTINUE_TO_LOOP1>
}
else if( soo==2 )
{
continue;//<CONTINUE_TO_LOOP2>
}
} while (moo==true) //loop2
if( soo==1)
{
continue;//<CONTINUE_TO_LOOP1>
}
}
while(foo==true)//loop1
{
做
{
对于(int i=0;i,有一些重组,没有goto:
bool loop3()
{
for (int i=0; i < someNumber ; i++) {
if(soo == 1) {
return false;
} else if(soo == 2) {
return true;
} else if(soo == 3) {
continue;
}
}
return true;
}
我提倡无条件分支到表达性标签。其他解决方案将花费额外的条件分支和可能的状态变量,灵活性较低,可读性较差。继续;
也许?继续只会将您带到父循环。它意味着“循环3”。尽可能避免嵌套控件结构。解决方案二:返工logic@Jessicabreak
您是否将其放入下一个外部循环。在那里,您可能需要另一个条件来决定再次break
,或继续
。事实上,例外是另一种方式。我可以知道它被否决的原因吗?此解决方案将urely工作和我已经提到了它的工作。我还主张“转到被认为有害的声明”被认为有害。
while (foo == true) // loop1
{
do
{
if (loop3() == false) {
break;
}
} while (moo == true) //loop2
}