C++中有关BREAK的问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 02:22:28
int a1=1,a2=1,an,sn,k=2;
sn=a1+a2;
while(1)
{
an=a1+2*a2;
if(sn<100&&(sn+an)>=100) b[0]=k;
if(sn<1000&&(sn+an)>=1000) b[1]=k;
if(sn<10000&&(sn+an)>=10000) {b[2]=k;break;}
sn=sn+an;
a1=a2;a2=an;k++;
}
以上程序中break有什么作用?他是跳出哪一个循环(是IF还是WHILE)?

这里的break是跳出while循环的意思。也就是说当满足sn<10000&&(sn+an)>=10000的时候,整个循环就终止了。

break语句只对循环语句和开关语句有效。如果它的上层没有一个循环或者开关结构的话,编译器会给你错误或者警告的提示。

if不是循环,只是分支语句。
所以显然是跳出while循环

break和continue可以跳出while、for、switch循环.对if语句是不起作用的。

Break用在循环语句中,作用是跳出循环体。以上语句在VC 6下运行有很多错误。按你写的话,应该是跳出while循环的。

while ,跳出循环体!