我编写了一个函数,用于检查区间中是否存在数字。 停止搜索的最佳方法是什么?这一个:
for (i = a; i <= b; i++) {
fi = f(i);
if (fi == c) {
j = i;
break;
}
}
还是这个?
for (i = a; (i <= b) && (IsFound == 0); i++) {
fi = f(i);
if (fi == c) {
j = i;
IsFound = 1;
}
}
答案 0 :(得分:1)
快速回答:break;
更好
为什么,一旦达到中断,代码就会逃脱循环。但在第二选择中,您需要达到for
循环条件检查状态
break语句终止执行它出现的最近的封闭do,for,switch或while语句。控制传递给终止语句后面的语句。
代码说明
选项I
for ( i = a; i <= b; i++ ){
fi = f ( i );
if ( fi == c ){
j = i;
break; // Simply exit from here , no more continuing
}
}
备选方案II
for ( i = a; (i <= b) && (IsFound == 0); i++ ) // Need to reach here for exit
{
fi = f ( i );
if ( fi == c ){
j = i;
IsFound = 1; // you set flag here but need to continue till for loop condition checking
}
}
答案 1 :(得分:0)
我会选择#1方式,因为:
答案 2 :(得分:-1)
Break是停止循环的最佳方法。
考虑一下你是否正在做很多工作,如果条件,你有更多的代码。如果在启用后使用该变量将执行该条件。 执行后它不会从循环中出来。
如果你使用休息时间。那个时间本身循环会破裂。它从循环中出来。