1
for(size_t i=0;i<vec.size();i++){
    if(n>vec[i]){
        a=i;
        break;
    }
}

在这个例子中,我是在打破 if 语句还是 for 循环?

4

3 回答 3

4

break语句用于中断switch迭代语句,即 while、do 或 for 循环。C++ 草案标准部分6.6.1 break 语句说:

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

由于if不是迭代语句switch,因此break将离开for循环。

于 2013-10-14T16:24:13.627 回答
1

break语句仅结束直接包含它的do, for, switch, or语句。while它不会跳出 if 语句,因此您的代码会跳出循环。

于 2013-10-14T16:22:00.497 回答
0

它将从for循环中中断。

在循环中,break 语句结束最近的封闭 doforwhile语句的执行。

来源: 微软文档

于 2013-10-14T16:21:00.283 回答