for (...)
for (...)
{
break;
break; // 1
}
(1) 处的代码会执行吗?也可能在那里continue
或其他任何东西。我知道我可以检查我的调试器,但我想知道 C++ 标准对此有何评论,因为我的编译器可能只是一个特例。
按标准
在嵌套语句中,break 语句结束立即包含它的 do、for、switch 或 while 语句。
因此,在您的情况下,它总是会首先中断,而永远不会出现第二个中断语句。
at(1)处的代码不会被执行,break
意味着跳出循环,所以第一次break后,代码会跳出内循环。
在该特定循环中,不,不会执行 break 后的任何代码,因为 break 将退出该循环并从内部 for 循环结束后继续执行。尽管在中断之后(在外循环内)出现的内循环之外的任何代码都将被执行。
不,每次第一个 break 语句被击中时,内部循环都会退出,并且永远不会到达第二个 break 语句。
你可以在这里看到。
而且我确信下一次休息永远不会超过。无论您使用什么编译器。
不会。遇到中断时,代码执行会跳出内部第一个循环。
即使代码是这样的
break;
continue;
break;
同样的事情也会发生。继续只是告诉编译器迭代循环进一步跳过其间的任何代码的一种方式。