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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javaweb-爬虫-2-63

    javaweb-爬虫-2-63

    2021年5月18日
    137
  • 再次研究消息队列记的笔记——activemq

    再次研究消息队列记的笔记——activemq

    2021年7月12日
    74
  • ALSA的pulse插件_pulseaudio启动

    ALSA的pulse插件_pulseaudio启动此博文为记录我初次进行树莓派开发语音唤醒时遇到的问题以及解决方法,如果有更好的方法,欢迎讨论。问题一描述:我在进行snowboy的安装过程中,所有的程序能够正常运行,也能正常录音以及音频输出,但是树莓派重启后,我运行之前设置好的程序,程序依然能够运行,但不能进行正常的唤醒。我查了/.asoundrc没有问题,录音设备和音频输出设备也是正常的状态,在系统中也能列出。问题一解决:经过多次重装系统(因为我的树莓派不只是只有做语音唤醒,我一开始也不知道是哪里的问题)的排除,发现是树莓派重启之后pulseau

    2022年10月16日
    0
  • 【Python实践-1】求一元二次方程的两个解[通俗易懂]

    【Python实践-1】求一元二次方程的两个解[通俗易懂]知识点:importsys,sys模块包含了与Python解释器和它的环境有关的函数。“sys”是“system”的缩写。sys.exit()中途退出程序,(注:0是正常退出,其他为不正常

    2022年7月5日
    20
  • 海康sdk协议接口_海康威视开发平台

    海康sdk协议接口_海康威视开发平台本文接上次的博客海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(一),上个博客中并未用到QT,本文介绍项目内容及源码,供大家参考。由于我的项目中是用海康相机作为拍照的一个中介,重点是在目标识别方向,请阅读源码时自动忽略。如果对目标识别感兴趣,可以参考我的YOLO系列https://blog.csdn.net/qq_45445740/category_9794819.html目录1.说明1.1环境配置1.2背景说明2.源码MvCamera.hmythread.

    2022年10月22日
    0
  • linux下查看tomcat宕机并自动重启[通俗易懂]

    linux下查看tomcat宕机并自动重启[通俗易懂]1.在服务器上创建tomcatMonitor.sh2.使文件生效chmodu+x*.sh3.编辑tomcatMonitor.sh文件,if及fi必须成对出现,如果ifthen写在一行需要用;隔开#!/bin/sh#获取tomcat的PIDTOMCAT_PID=$(ps-ef|greptomcat|grep-v’grep’|awk'{print$2}’)#tomcat的启动文件位置START_TOMCAT=/usr/local/tomcat6/bin/start

    2022年7月23日
    3

发表回复

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

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