for(size_t i=0;i<vec.size();i++){
if(n>vec[i]){
a=i;
break;
}
}在这个例子中,我是中断if语句还是for循环?
发布于 2013-10-14 16:24:13
中断语句用于中断开关或迭代语句--即时间、do或for循环。C++标准草案节6.6.1的中断语句说:
中断语句只应发生在迭代语句或开关语句中,并导致最小的包围迭代语句或开关语句的终止;如果存在,控制传递给终止语句之后的语句。
因为if不是迭代语句或开关,所以中断将离开for循环。
发布于 2013-10-14 16:22:00
break语句仅结束立即包围它的do、for、switch或while语句。它不会中断if语句,因此您的代码将脱离循环。
发布于 2013-10-14 16:21:00
它将脱离for循环。
在循环中,break语句结束最近的do、for或while语句的执行。
资料来源: 微软文档
https://stackoverflow.com/questions/19364635
复制相似问题