C语言中continue可以用于switch语句中吗?

  背景交代:continue和break虽然都可以用于表结束循环,但是二者还是用很大的区别。今天下午突发奇想那么continue可以用于switch中吗,俗话说的好实践是检验真理的唯一标准,说干就干。这里先梳理一下二者的区别,知道二者的区别直接看第三部分。

一、continue

  continue是表示结束本次循环,继续执行下一次循环为了方便理解举个代码看一下(为了记忆和理解continue暂时不直接在switch中使用)

#include <stdio.h>
int main()
{
	int i;
	for(i=1;i<10;i++)
	{
		if(i==3) continue;
		printf("%d",i);
	}
	return 0;
}

运行结果
在这里插入图片描述
可以看到结果中没有数字3,是因为当i等于3的时候执行了continue所以结束了当次循环,继续下一个循环

二、break

  break是表示直接结束循环执行后面的代码(为了记忆和理解采用和执行continue相同的代码)

#include <stdio.h>
int main()
{
	int i;
	for(i=1;i<10;i++)
	{
		if(i==3) break;
		printf("%d",i);
	}
	return 0;
}

运行结果
在这里插入图片描述
输出结果只有1和2,因为当i等于3的时候执行了break结束了整个循环。

三、continue到底可以用于switch语句中吗?

  直接在Dev-C++中上代码,编译,运行。

#include <stdio.h>
int main()
{
	int a=1;
	switch(a)
	{
		case 1:
			printf("111");
			continue;
		case 2:
			printf("222");
		default:
			continue;
	}
	return 0;
}

运行结果报错,说明此时continue无法使用于switch中
编译结果
  但是这并不能说明continue不能用于switch语句中。当我们在该switch外加上for循环语句的时候continue可以在switch中出现。代码如下:

#include <stdio.h>
int main()
{
	int a=1, i;
	for(i=0;i<10;i++)
	{
		switch(a)
		{
			case 1:
				printf("111\n");
				continue;
			case 2:
				printf("222\n");
			default:
				continue;
		}
	}
	return 0;
}

【运行结果】
在这里插入图片描述

那么到底是什么原因呢?

  我们大多数人在switch中直接使用continue发生错误后,就下定结论continue无法在switch中使用的法是错误的。
  通过百度百科和查询其他资料得知原来switch是属于判断选择代码,是用于控制流程流转,而无法像for、do…while、while一样实现循环。所以在switch中无法使用continue实现结束。
  但是当外面有循环语句时可以用循环语句的特性来结束该case。感谢“小笨孩521”留言指出该问题。


本人承诺以上文章为本人编写,绝非复制粘贴。写在这里一是为了防止以后自己将知识点遗忘,二是为了和大家分享我自己对这个知识点的理解和认识。如果我的文章中有错误希望看到后可以指正,感激不尽!

为了在Windows安装ADB工具,你可以按照以下步骤进行操作: 1. 首先,下载ADB工具包并解压缩到你自定义的安装目录。你可以选择将其解压缩到任何你喜欢的位置。 2. 打开运行窗口,可以通过按下Win+R键来快速打开。在运行窗口中输入"sysdm.cpl"并按下回车键。 3. 在系统属性窗口中,选择"高级"选项卡,然后点击"环境变量"按钮。 4. 在环境变量窗口中,选择"系统变量"部分,并找到名为"Path"的变量。点击"编辑"按钮。 5. 在编辑环境变量窗口中,点击"新建"按钮,并将ADB工具的安装路径添加到新建的路径中。确保路径正确无误后,点击"确定"按钮。 6. 返回到桌面,打开命令提示符窗口。你可以通过按下Win+R键,然后输入"cmd"并按下回车键来快速打开命令提示符窗口。 7. 在命令提示符窗口中,输入"adb version"命令来验证ADB工具是否成功安装。如果显示版本信息,则表示安装成功。 这样,你就成功在Windows安装ADB工具。你可以使用ADB工具来执行各种操作,如枚举设备、进入/退出ADB终端、文件传输、运行命令、查看系统日志等。具体的操作方法可以参考ADB工具的官方文档或其他相关教程。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [windows环境安装adb驱动](https://blog.csdn.net/zx54633089/article/details/128533343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Windows安装使用ADB简单易懂教程](https://blog.csdn.net/m0_37777700/article/details/129836351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

127.0.0.1/24

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值