C++-嵌套for循环跳出方法
例如,
for(i=0;i<=x;++i)
for(j=0;j<=y;++j)
{
if(a == b)
{希望跳出两重循环;用break的话只能跳出最内这一层。我想到用goto的方法。}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
例如,
for(i=0;i<=x;++i)
for(j=0;j<=y;++j)
{
if(a == b)
{希望跳出两重循环;用break的话只能跳出最内这一层。我想到用goto的方法。}
}
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
不要有误区。
存在即是合理的。
goto的存在就表名它是有它的用处的。
最佳答案里直接将嵌套循环写成一个函数,是可以的,但是如果有参数需要在循环内操作呢?如果本来就只是一个局部变量呢?这样就不得不写成一个全局变量。
合理使用goto是可以的。
假设你这个函数里有15个case,每个case都至少是2层嵌套循环,但是如果循环条件不满足该跳出循环了,而这些所有的处理,一旦出错,都应该报相同的错误。那么所有的嵌套里,一旦出错就直接goto到处理报错的地方,你对比一下,相对于拆成15个函数,哪个更简洁呢?