对循环进行控制:break与continue
4.3.4 对循环进行控制:break与continue
// 大款的收支统计程序
int nTotal = 0;
int nInput = 0;
do
{
cout<< "请输入你的收入或支出:";
cin>>nInput;
if( 1000< nInput ) // 毛毛雨啊,就不用统计了
continue;
nTotal += nInput;
}while( 0 != nInput );
在这个大款的收支统计程序中,nInput接收用户输入后判断其值是否小于1 000,如果小于1 000,则执行continue关键字,跳过后面的加和语句“nTotal += nInput;”,而直接跳转到对条件表达式“0 != nInput”的计算,判断是否可以开始下一次循环。值得注意的是,在for循环中,执行continue后,控制条件变化的更改语句并没有被跳过,仍然将被执行,然后再计算条件表达式,尝试下一次循环。
虽然break和continue都是在某种条件下跳出循环,但是两者有本质的差别:break是跳出整个循环,立刻结束循环语句的执行;而continue只跳出本次循环,继续执行下一次循环。图4-6展示了break和continue之间的区别。
图4-6 break和continue之间的区别