switch 中 break 和 continue 的区别

2023-05-16

1、break 用来退出 switch,continue 本身是不能用在 switch 里的,他必须结合循环来用,表示跳过本次循环
2、switch 的 case 语句最后如果没有加 break / continue,则程序会一直往后执行,可以借鉴 goto 跳转到位置,其实 switch 本身可以看作某种形式的跳转,而 C 语言中本身是不执行:的那条语句的,例如,如果程序中出现一条语句 wtch : ,C 语言是默认跳过的,这就很好理解为什么 swtich 中为什么需要在 case 语句最后加 break / continue 了,同样 : 前面不管是什么都不要事先去定义的

3、下面的程序就很好的能反应出switch 中的 break / continue 用法,同时 pro 没定义也不会出错:

/*************************************************************************
  > File Name: t.c
  > Author: Wenfei6316
  > Mail: 2500873570@qq.com 
  > Created Time: 2018年03月12日 星期一 20时37分51秒
 ************************************************************************/

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

int main(int argc, const char *argv[])
{
	int i = 0;
	int num = 3;
	while (num)
	{
		printf("++++++++++++++++++++++++++++++++++\n");
		switch (i)
		{
		case 0:			
			printf("i = %d\n", i++);
			i++;
		case 1:			
			printf("i = %d\n", i);
			i = i + 2;
			continue;
		case 2:			
			printf("i = %d\n", i--);
			i--;
			break;
		case 3:
			printf("i = %d\n", i);
			continue;
		case 4:
			printf("i = %d\n", i);
			i++;
			break;
		default:
			printf("i = %d\n", i);
			i = 2;			
			break;

		}		
		printf("----------------------------------\n");
		num--;
		printf("num = %d\n", num);
	}
pro:
	printf("hello world!\n");	

	return 0;
}
 
 运行结果如下:
 ++++++++++++++++++++++++++++++++++
i = 0
i = 2
++++++++++++++++++++++++++++++++++
i = 4
----------------------------------
num = 2
++++++++++++++++++++++++++++++++++
i = 5
----------------------------------
num = 1
++++++++++++++++++++++++++++++++++
i = 2
----------------------------------
num = 0
hello world!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

switch 中 break 和 continue 的区别 的相关文章

  • Java运算符、流程控制

    Java运算符 流程控制 运算符 算术运算符 public class Demo1 public static void main String args 算术运算符 int x 2046 x x 100 100 System out pr
  • 教妹学Java(十八):break 关键字详解

    你好呀 我是沉默王二 一枚颜值与才华俱在的程序员 本篇教程通过我和三妹对话的形式来谈一谈 Java 中的 break 关键字 教妹学 Java 没见过这么又去的标题吧 语不惊人死不休 没错 标题就是这么酷炫 毕竟面向对象编程 专栏现在定价只
  • Java 中如何退出 while 循环?

    Java 中退出 终止 while 循环的最佳方法是什么 比如我目前的代码如下 while true if obj null I need to exit here Use break while true if obj null brea
  • C++Continue 语句混乱

    背景 我正在阅读一本旧的 C 入门读物 我在床底下放了几年了 在阅读某一章时 我碰巧遇到了 continue 声明 我阅读了书中有关它的信息 但是 这本书在细节上有点缺乏 出于好奇 我想测试 continue 声明 看看我是否可以自己弄清楚
  • readlines 给了我额外的换行符 python2.6.5

    我对以下代码有问题 file open file txt r lines file readlines print lines 0 print lines 1 print lines 2 file close 这段代码给了我行之间的换行符
  • 使用单击时中断停止 for 循环

    我有一个从 1 到 20 的简单循环 我想做的是通过单击按钮来停止循环 我所做的是 我设置了一个条件 即单击按钮后变量的值stop将更改为 1 这将触发break 但值没有改变 var stop 0 for let i 1 i lt 20
  • 带 Break 的无法到达语句

    所以我之前有一个问题 但意识到我发布了错误的违规代码 我已在下面标记了令人反感的言论 我想要做的是使用该 switch 语句设置每个运算符的优先级 也许有人可以指出我正确的方向 请注意 我正在运行 JAVA 7 因此 String Swit
  • PowerShell:打破嵌套循环

    应该有一个breakPowerShell 中的命令可以通过分配标签退出嵌套循环 只是它不起作用 这是我的代码 timestampServers http timestamp verisign com scripts timstamp dll
  • 是否需要break语句或者return语句就足够了?

    在我的 Python 3 5 脚本中 我有一个简单的for循环 看起来像这样 request simple string ignore Tuple that contains regex s to ignore for i regex in
  • 中断/退出脚本

    我有一个程序可以进行一些数据分析 并且有几百行长 在程序的早期 我想做一些质量控制 如果没有足够的数据 我希望程序终止并返回到 R 控制台 否则 我希望执行其余的代码 我试过了break browser and quit并且它们都不会停止程
  • 如何根据用户输入退出 while(1) ?

    我有一个简单的server client终端 服务器从客户端接收字符串并对其进行处理 服务器只有收到后才会开始处理end of input在我的例子中的角色是 下面的 while 循环旨在允许用户输入多个不同的字符串 并且应该在接收到时停止
  • 在 D3 强制布局节点标签中插入换行符

    因此 我正在使用力定向图 并且我已将鼠标悬停在节点上的 text 更改为数据中的另一个文本 我的代码如下所示 script var data nodes name YHO full name Yahoo type 1 slug www ya
  • 语法错误:“继续”在循环中不正确

    我已经为这个错误苦苦挣扎了一段时间 对于口译员为什么抱怨 继续 似乎有不同的看法 所以我想提供下面的错误代码 import tweepy import time def writeHandlesToFile file open dataFi
  • 为什么不能在 C# 三元表达式中使用 break?

    我试图在 while 循环内将 if else 子句转换为三元 但是它不允许我在问号后有一个中断 将中断处的错误指出为无效表达式 我将如何将这个简单的 if else 变成这样的三元 while true Console WriteLine
  • Perl 跳出 If 语句

    这个刚刚出现 我如何摆脱困境if陈述 我有一个很长的 if 语句 但有一种情况我可以尽早摆脱它 在循环中我可以这样做 while something last if some condition blah blah blah 但是 我可以对
  • PHP 有没有办法在 foreach 中重新启动循环,或更改 switch 中的测试值?

    如果我正在循环一个数组 并且在其中一个循环的中间我发现一些小问题 改变 一些东西 并且需要重试 有没有办法跳回到循环顶部而不从数组中获取下一个值 我怀疑这是否存在 但它会是一些关键字 例如continue or break 事实上 它很像c
  • PHP 用一个 HTML Break 替换双行 [重复]

    这个问题在这里已经有答案了 我正在尝试将我的服务器上的所有 n n 替换为 br 标记 以便单个 n 不会变成 br Example Hello n nThis is an nexample n nThanks goes to Hello
  • 为什么这个break语句break不起作用?

    我有以下代码 public void post String message final String mess message new Thread public void run while true try if status equ
  • 使用命令中断循环

    在我的 Python Discord Bot 中 我想创建一个命令 这会导致循环运行 当我输入第二个命令时 循环应该停止 那么粗略地说 client event async def on message message if message
  • 非法使用break语句; javascript

    当这个变量达到一定数量时 我希望循环停止 但我不断收到错误 未捕获的语法错误 非法的中断语句 function loop if isPlaying jet1 draw drawAllEnemies requestAnimFrame loop

随机推荐

  • 卸载Proteus后再次安装出错解决办法

    相信有人和我一样 xff0c 在卸载Proteus后再次安装时会跳过下图这一步 然后安装完了注册时会弹出修改注册 LICENCE失败 xff0c 从而导致破解不成功 xff0c 怎么办呢 xff1f 本人解决方法 xff1a 1 首先正常安
  • STM32cubeMx来对单片机串口1进行初始化

    步骤如下 xff1a 打开STM32CubeMX软件并新建一个工程在Pinout amp Configuration选项卡中选择正确的芯片型号 xff0c 然后在Pinout视图中找到串口1相关的引脚 默认情况下 xff0c 串口1使用PA
  • Keil 头文件源程序代码——Math.h

    MATH H Prototypes for mathematic functions Copyright c 1988 2002 Keil Elektronik GmbH and Keil Software Inc All rights r
  • Keil头文件代码—Absacc

    ABSACC H Direct access to 8051 extended 8051 and NXP 8051MX memory areas Copyright c 1988 2010 Keil Elektronik GmbH and
  • reg52.h中直接定义了P3^4等引脚,但是P1^5引脚没有明确表示出来?

    实际上reg52 h中已经定义了 34 sfr P0 61 0x80 sfr P1 61 0x90 sfr P2 61 0xA0 sfr P3 61 0xB0 34 等引脚的地址 xff0c 如果取P1 5的引脚 xff0c 只需要表示成
  • 关于scanf很多人不知道的小秘密

    今天忽然想到一个问题 xff0c 假如我利用scanf想给变量a输入一个 d的整数 xff0c 结果不小心输入了一个字符串yf或者是123ff后会怎么样呢 xff1f 哈哈 xff0c 自己测试了一下 xff0c 结果发现 xff0c 当你
  • 关于sizeof(*p+1)的那些事

    今天老铁在写程序时发现一个意外 xff0c 在char a 61 1 3 5 7 9 p 61 a 程序求sizeof p 43 1 时遇到一些意外 xff0c 本来以为会是1 xff0c 结果却出意料的是4 xff0c 这就有些尴尬了 x
  • 求解完数

    完数的定义 xff1a 一个数如果恰好等于它的因子之和 xff0c 这个数就称为 完数 例如 xff1a 6 61 1 xff0b 2 xff0b 3 如果需要求解1000或者10000以内的所有完数 xff0c 怎么做呢 xff1f 分析
  • 查找100-200以内素数

    只能被1和其本身整除的数称为素数 xff0c 1不是素数 xff0c 因为简单 xff0c 所以不做解释 xff0c 直接上程序 源代码如下 xff1a Search all prime numbers from 101 to 200 in
  • 实现4个按键控制8个LED灯1个数码管程序

    按要求C语言编程 xff0c 实现4个按键控制8个LED灯1个数码管程序 具体要求如下 xff1a 1 按键一 xff0c 清零作用 无论数码管以前显示何内容 xff0c 都归零 xff0c 显示0 xff1b 2 按键二 xff0c 加一
  • Linux 关机/重启指令

    Linux系统下关机指令只有root用户终端才能下达 xff08 Linux里切换用户可以用 su root 输入密码便进入 root 用户 xff09 xff0c 同时其他终端也会接收到 如root用户发出关机指令 其他终端也会收到相应的
  • C 语言中的goto、 break 和 continue 语句使用

    一 goto 语句 goto 语句为无条件跳转 xff0c goto 语句后面带一个标识符 xff0c 该标识符是同一个函数 内某条语句的标号 标号可以出现在任何可执行语句的前面 xff0c 并且以一个冒号 xff1a 作为后缀 gt Fi
  • 云台控制协议VISCA、PELCO-D、PELCO-P

    原 云台控制协议VISCA PELCO D PELCO P 2013年12月02日 18 42 21 autowanglei 阅读数 xff1a 10146 更多 lt div class 61 34 tags box space 34 g
  • 目录和文件权限与 umask 关系

    一 权限 文件权限 xff1a r xff1a 读取文件内容的权限 w xff1a 新增 修改和删除文件内容的权限 x xff1a 执行文件的权限 例如 xff1a 一个文件a sh xff0c 它的权限是rw xff0c 使用 a sh
  • open 函数的 flag 参数和错误代码

    一 flag 参数 定义头文件 xff1a lt bits fcntl linux h gt 必选参数说明 xff1a define O ACCMODE 0003 xff1a 读写文件操作时取出 flag 的低两位 define O RDO
  • 系统全局变量 errno 是如何获得 errno.h 中的值的呢?

    很多时候我们在使用 errno 的时候都知道它代表的是 errno h 中的错误值 xff0c 可是为什么它就是代表那些值的呢 xff1f 系统在哪里给它赋值了呢 xff1f 故事就要从源头开始 1 errno 全局变量是在哪里定义的 xf
  • const pointer

    int a b const int p 61 a 与int const p 61 a 是一样的 表示p可以指向a xff0c 也可以改变指向b xff0c 但是不能通过指针p来修改a的值 p 61 b p 61 4 int const q
  • I_O —基础概念(参照 Ubuntu 16.04 版本)

    一 文件的概念 定义 xff1a 所谓文件是指一组相关数据的有序集合 xff0c 这个数据集有一个名称 xff0c 叫文件名 如源程序文件 xff0c 目标文件 xff0c 可执行文件 xff0c 头文件等文件通常是在驻留在外部介质上的 x
  • 网络通信2—UDP 模型程序编写步骤(参照 Ubuntu 16.04 版本)

    UDP 模型程序编写步骤 一 UDP基础模型 服务器流程 step 1 xff1a 创建 socket 套接字接口并判断 sockfd 61 socket AF INET SOCK DGRAM 0 if sockfd 61 61 1 per
  • switch 中 break 和 continue 的区别

    1 break 用来退出 switch xff0c continue 本身是不能用在 switch 里的 xff0c 他必须结合循环来用 xff0c 表示跳过本次循环 2 switch 的 case 语句最后如果没有加 break cont