C__break和continue的区别

在循环语句我们经常会见到break或者是continue,那这两者到底有什么区别呢?

break

只能在循环体内和switch语句体内使用break;

break语句可用于跳出循环。break所在的循环体已经结束。

像这个代码,当i等于5时,条件满足,则跳出循环。

#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;
		printf("%d ", i);
		i = i + 1;
	}
	//输出 1 2 3 4 ,break为永久终止循环
	system("pause");
	return 0;
}

结果:输出 1 2 3 4

continue

continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。continue所在的循环体并没有结束。

而作为continue来说,如果像上面的代码,结果是怎样的呢?

int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			continue;
		printf("%d ", i);
		i = i + 1;
	}
	system("pause");
	return 0;
}

在这里插入图片描述

如图所示,程序就像卡住了一样,一直停留在输出4之后的结果成了死循环,为什么会这样呢?

原因是在循环内部遇到continue直接跳出,不再执行后边的语句,调到while部分。重新进行下一次的循环,此时的i依旧等于5,所以又会跳转到循环中的下一个迭代,造成死循环。

如果我们把i = i + 1;放在continue语句之前运行,那么结果就完全不一样了

在这里插入图片描述

总结

当它们用在循环语句的循环体时,break用于立即退出本层循环,而continue仅仅结束本次循环(本次循环体内不执行continue语句后的其它语句,但下一次循环还会继续执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值