-9

我有一个简单的问题:当while循环中有一个“break”命令时,程序是否会在while循环结束之前完成这些行,然后中断它的重复,还是在while之后跳转到第一行- 执行“break”时的循环 - 命令?

4

2 回答 2

4

它立即跳出包含while循环(§6.6.1):

break语句应仅出现在迭代语句或 switch 语句中,并导致最小的封闭迭代语句或 switch 语句终止;控制传递到终止语句之后的语句(如果有)。

考虑以下示例

while (true) {
    break;
    std::cout << "Never gets here" << std::endl;
}
std::cout << "Jumps straight to here" << std::endl;
于 2013-05-10T20:40:33.853 回答
1

它做了以下事情

break 语句终止它出现的最近的封闭 do、for、switch 或 while 语句的执行。控制权传递给终止语句之后的语句。

于 2013-05-10T20:42:00.827 回答