【发布时间】:2018-05-15 18:17:19
【问题描述】:
我的程序中有一个for 循环,它是我的程序的主循环,它应该实时工作。循环内也有一些if-else 语句。我希望如果满足任何if 条件,程序退出if-else 语句并重试for 循环。
for(;;)
{
if(condition_one)
{
do_one();
}
else if(condition_two)
{
do_two();
}
else
{
do_three();
}
rest_of_program();
}
我试着把上面的代码写成这样:
for(;;)
{
if(condition_one)
{
do_one();
goto exitt;
}
else if(condition_two)
{
do_two();
goto exitt;
}
else
{
do_three();
}
exitt:
rest_of_program();
}
但似乎有问题,我的程序无法运行!我做错什么了吗?还是有更好的主意?
【问题讨论】:
-
您在寻找
continue、goto、return吗?有点难说.. -
not clear... “我希望如果每个 if 条件都满足,程序退出 if-else 语句并重试 for 循环。”您的第一个代码所做的是:无论满足什么条件,都会留下 if-else 语句,并且 for 循环会继续下一次迭代
-
啊……你的意思是“如果满足任何个条件”?
-
对不起,我会尝试编辑更清楚
-
到目前为止,还不清楚为什么您需要 goto。在您的示例中,事情应该按照您发布的第一段代码中的方式进行。
标签: c++ for-loop break goto nested-if