switch 中 break 和 continue 的区别[通俗易懂]

switch 中 break 和 continue 的区别[通俗易懂]1、break用来退出switch,continue本身是不能用在switch里的,他必须结合循环来用,表示跳过本次循环2、switch的case语句最后如果没有加break/continue,则程序会一直往后执行,可以借鉴goto跳转到位置,其实switch本身可以看作某种形式的跳转,而C语言中本身是不执行:的那条语句的,例如,如果程序中出现一条语句wtch…

大家好,又见面了,我是你们的朋友全栈君。

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!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137431.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是关系型数据库和非关系型数据库_常用的三种关系型数据库

    什么是关系型数据库和非关系型数据库_常用的三种关系型数据库关系型数据库又称为关系型数据库管理系统(RDBMS),它是利用数据概念实现对数据处理的算法,达到对数据及其快速的增删改查操作。既然被称为关系型数据库,那么它的关系在哪里体现呢?举一个例子吧。比如

    2022年8月2日
    6
  • stm32 st_基于STM32

    stm32 st_基于STM32用了不少芯片,就只有51有位操作,这个特性很喜欢,赋值简单、效率又高且节省内存,不必为了一个bool去分配一个uint8.发现stm32有Bit-Banding,就试了一下,用MDK-ARM环境下的汇编代码做了一些比较。操作,清零USART1的SR寄存器的TC位:方法一://利用USART_TypeDef这个结构寻到SR的地址,再赋值USART1->SR&amp…

    2022年10月13日
    3
  • android开发之android:process属性_application中onCreate执行多次「建议收藏」

    应用做的匆忙,很多地方只顾实现功能,没有兼顾好性能,所以停下来重构代码优化性能,结果在打log看启动时间的时候,发现Application的onCreate执行了多次,这样导致重复初始化资源,初始化了3次导致接近1s时间。发现这个是由独立进程引起的。即:process这个属性。android:process        服务所在进程的名字。通常,一个应用的所有组件都运行在系统为这个应用所创建的默

    2022年3月11日
    44
  • Python数据可视化教程:基于Plotly的动态可视化绘图

    Python数据可视化教程:基于Plotly的动态可视化绘图1.plotly介绍Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图,下面我们以jupyternotebook为开发工具数据分析。Matplotlib存在不够美观、静态性、不易分享等缺点,限制了Python在数据可视化中的发展。为了解决这个问题,新型的动态可视化开源模块Plotly应运而生…

    2022年6月16日
    260
  • eclipse中svn操作详解

    eclipse中svn操作详解1、svn:原理是这样的svn服务器一般放在公共的服务器上,大家连这个服务器,在Eclipse上使用svn控件可以下载svn上的项目至本地,所以很多公司将开发要用到的代码都放在svn上,有同事来

    2022年7月2日
    24
  • Mysql函数FIND_IN_SET()的使用方法

    Mysql函数FIND_IN_SET()的使用方法

    2021年10月24日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号