【C语言】break和continue的区别

  1. 当它们用在循环语句的循环体时,break用于立即退出本层循环,而continue仅仅结束本次循环(本次循环体内不执行continue语句后的其它语句,但下一次循环还会继续执行。)
  2. 如果有多层循环时,break只会跳出本层循环,不会跳出其他层的循环。
  3. break可用于switch语句,表示跳出整个switch语句块,而continue则不能单独的用于switch语句。但是continue可以用于循环内部的switch语句。
  4. break和continue语句在循环内的switch语句中使用时,是有区别的。在这种情况下的break是指跳出switch语句块(switch语句块的代码仍然执行)。而这种情况下的continue是指结束本次循环(不在执行switch后面的代码),进行下一次循环。

例1

#include<stdio.h>
int main(){
	int i;
	for(i=0;i<5;i++){
		if(i==2){
			break;
			printf("我没有被打印出来\n");
		}
		printf("i=%d\n",i);
	}
	printf("已经跳出循环\n"); 
	return 0;
}

运行结果:
i=0
i=1
已经跳出循环

break语句直接结束了本层的循环, 直接执行循环后边的语句

例2

#include<stdio.h>
int main(){
	int i;
	for(i=0;i<5;i++){
		if(i==2){
			continue;
			printf("我没有被打印出来\n");
		}
		printf("i=%d\n",i);
	}
	printf("已经跳出循环\n"); 
	return 0;
}

运行结果:
i=0
i=1
i=3
i=4
已经跳出循环

i = 2没有被打印,是因为continue 结束了那一次循环,继续了下一次循环

例3

#include<stdio.h>
int main(){
	int i,j;
	for(i=0;i<5;i++){
		for(j=0;j<5;j++){
			if(j==2){
				break;
			}
			printf("Hello:%d\n",j);
		}
		printf("World:%d\n",i);
	}
	return 0;
}

运行结果:
Hello:0
Hello:1
World:0
Hello:0
Hello:1
World:1
Hello:0
Hello:1
World:2
Hello:0
Hello:1
World:3
Hello:0
Hello:1
World:4

例3是一个两层for循环,break语句只会跳出最近的一层循环,第二层for循环继续执行

例4

#include<stdio.h>
int main(){
	int i;
	for(i=0;i<2;i++){
		int j=5;
		switch(j){
			case 4:
				printf("你好%d\n",4);
				break;
			case 5:
				printf("你好%d\n",5);
				break;
			case 6:
				printf("你好%d\n",6);
				break;
		}
		printf("Hello World!\n");
	}
	return 0;
}

输出结果:
你好5
Hello World!
你好5
Hello World!

在这里break的作用只会跳出switch()语句块,执行switch语句块后面的程序printf(“Hello World!\n”);而不是跳出循环。

例5

#include<stdio.h>
int main(){
	int i;
	for(i=0;i<2;i++){
		int j=5;
		switch(j){
			case 4:
				printf("你好%d\n",4);
				continue;
			case 5:
				printf("你好%d\n",5);
				continue;
			case 6:
				printf("你好%d\n",6);
				continue;
		}
		printf("Hello World!\n");
	}
	return 0;
}

运行结果:
你好5
你好5

例5中循环内部的switch语句中的continue是直接结束本次循环,switch语句块后面的printf(“Hello World!\n”);将不会被执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值