关于break和continue的那些事

区别

break 语句,它不仅可以跳出“循环体”,还可以跳出 switch。
break 也只能用于这两种情况。break 语句不能用于循环语句和 switch 语句之外的任何其他语句中。
不管是 for 循环,还是 while 循环,或者是 do…while 循环,都可以用 break 跳出来,但是 break 只能跳出一层循环。当有多层循环嵌套的时候,break只能跳出“包裹”它的最里面的那一层循环,无法一次跳出所有循环。

同样,在多层 switch 嵌套的程序中,break 也只能跳出其所在的距离它最近的 switch。但多层 switch 嵌套实在是少见。

continue 其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,然后进行下一次是否执行循环的判定。

continue 语句和 break 语句的区别是,continue 语句只结束本次循环,而不是终止整个循环。break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。而且,continue 只能在循环语句中使用,即只能在 for、while 和 do…while 中使用,除此之外 continue 不能在任何语句中使用。

示例

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int i=0;
	while(1)
	{
		i++;
		if(i<10){
			printf("i<10,continue....i=%d\n",i);
			continue;
		}

		printf("i++...i=%d\n",i);
		if(i>10){
			printf("i>10 break...i=%d\n",i);
			break;
		}
	}
	printf("hello world...\n");
	system("pause");
}

执行结果:
在这里插入图片描述

上面的测试代码 i<10 执行continue语句,后面的printf(“i++…i=%d\n”,i)并没有执行 而是继续判断循环条件 执行i++的操作 一直到i>=10以后才继续执行continue语句后面的代码。

猜你喜欢

转载自blog.csdn.net/yuewen2008/article/details/94760747