c语言中的break与Continue有什么区别

2025-04-17 18:32:02
推荐回答(4个)
回答1:

在C语言中,两个跳出循环语句的语句break和continue。初学C,难免会混淆两个语句之间的区别,导致程序某个局部出现逻辑错误。以下是二者的区别:
continue只对直接包含它的循环体有效(也就是for,while,
而switch{}中的不算循环体);
break有效的是直接包含它的for,while,switch块。
比如在不包含switch的代码中出现break或者continue,那么break跳出循环体,而continue跳出本次循环,而对于在循环中嵌套switch语句的代码中,break仅跳出最内层的块,这个块若是switch,就仅跳出switch,而continue即使出现在switch块中,因为continue的作用范围仅针对
for
while
之类的循环语句,故不起作用,依旧跳出本次循环,不注意的话也会认为同样是跳出switch语句块了。

回答2:

break可以离开当前switch、for、while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do
while中,主要用于中断目前的循环执行。
continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环。

回答3:

break是结束循环。
continue是结束本次循环。
循环是有很多次的,break之后不再循环,continue结束本次循环后,再开始下一次的循环。

回答4:

给你举个例子吧:
.......
sum
=
0
for(i
=
0;i
<
10;
++i)
{
if(i
==
4)
break;
if(i
==
2)
continue;
sum
+=
i;
}
.......
结果为:sum

0+1+3=4
循环计算累加和,放在sum中
过程如下:i从0开始循环,每次i++。当i
==
2的时候,执行continue,跳过sum
+=
i这句,继续循环,也就是说,2并没有加到sum中去。循环继续,i变成3,执行sum+=i。然后发现i
==
4了,于是执行break,跳出for循环,也就是说,break之后,i的值固定在4了,循环语句不再被执行了,sum
+=
i这句也就不再被执行了。
break是直接跳出循环体,而continue是跳过循环体中余下的语句(这里为sum
+=
i;)继续执行循环。
除此之外,break还可以用在switch/case中,用来结束条件匹配,道理和在循环中一样