C语言CASE语句嵌套,C语言中switch case语句的嵌套

给一个含有嵌套的switch case的一段完整代码:

#include

int main()

{

int n=1;

int m=2;

switch(n)

{

case 1:

m++;

case 2:

n++;

case 3:

switch(n)

{

case 1:

n++;

case 2:

m++;

n++;

break;

}

case 4:

m++;

break;

default:

break;

}

printf("%d %d",m,n);

return 0;

}

代码看起来很简单,但是,如果不时很清楚的了解switch case用法的话,结果还是容易出错。

首先给出它的运行结果:m=5,n=3。当程序走到case 3 的时候,遇到了嵌套的switch case语句,此时m=3,n=2。进入嵌套语句,和switch里面表达式匹配的是case 2,所以程序运行(m++;n++),此时,m=4,n=3。接着,后面遇到break,跳出switch case语句。但是,注意:break跳出的是嵌套的switch case语句,而外面的case 3后面并没有break语句。因此,出了case 3之后程序还需进入case 4,进而m自加,再遇到break语句,然后跳出整个switch case语句。所以。最终得到的m=5,n=3。

附上程序运行结果:

0fc9a861f835c48388383de0eacd4425.png

思考:看了这个代码我们又能发现什么,我们需要知道什么?

1.不是所有case语句最后都跟有break。我们起初见到的代码里,基本上每个case最后都跟有break,它是指当switch后面括号里的表达式与哪一个case后面的常亮表达式匹配时,直接进入这个case,执行完里面的语句后,遇到break,直接退出整个switch case语句。实际当中,我们还会碰到类似于上述代码的情况(不是所有case语句最后都跟有break),这个时候,程序总是从匹配的case执行,直到遇到break或者程序走到最后的default结束,退出switch case语句。

2.switch后面括号里的结果必须是整形值。因为这个值是要和case语句后面直接跟的常量表达式进行匹配的。

3.break在switch case语句中主要是将语句划分成不同的部分,方便匹配后跳出switch语句。

4.default的位置并不是固定的。为了使程序正常运行,它放在case之间的时候,后面必须跟上break语句;如果放在最后,可以跟break语句,也可以不跟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux dd 进度条,Progress 进度条 – DDProgressHUD

DDProgressHUDProgress 进度条,UIActivityIndicatorView 小菊花,弹窗,状态显示,高度自定义DDProgressHUD的介绍提供了四种类型的展示:显示无限旋转的加载图(比如小菊花,可以自定义),显示文字信息…

Android动态图标包制作教程,安卓手机ico图标制作美化图文教程

如何让手机更加与众不同?今天我们就来学习如何利用出色的ico图标制作软件——Axialis IconWorkshop制作出美化手机屏幕的个性图标!如今,每个人都有属于自己的手机,每天使用手机聊QQ、刷微博、玩游戏,可以说手机已经是很多人生活中不可缺少的…

android progressbar 水平动画,Android ProgressBar 自定义样式(三),动画模式

果:和之前的一样,在布局文件中:android:id"id/progressBar3"android:layout_width"wrap_content"android:layout_height"wrap_content"android:indeterminate"false"android:indeterminateDrawable&…

android gridview行分割线,Android使用GridView实现表格分割线效果

使用gridview实现表格分割线效果,网格布局表格布局也是可以实现的。效果如下:1.主函数代码:package com.example.qd.douyinwu;import android.app.activity;import android.content.context;import android.os.bundle;import android.support…

android hook 实例,代码实例分析android中inline hook

以下内容通过1、实现目标注入程序,2、实现主程序,3、实现注入函数,4、thumb指令集实现等4个方面详细分析了android中inline hook的用法,以下是全部内容:最近终于沉下心来对着书把hook跟注入方面的代码敲了一遍&#xf…

dax 筛选 包含某个字_筛选状态(ALL与REMOVEFILTERS)

这一章比较绕,但是帮助我们理清切片器的筛选状态以及主要函数对于公式筛选上下文的改变。1.切片器的筛选状态切片器的全选与全不选的状态的区别,我们可以看下图:全不选全选多个点击筛选逐个点击至全部结论初始状态,没有选择任何元…

山东鲁能轨道智能巡检机器人_温湿度传感器在轨道巡检机器人中的应用

▲地下综合管廊智慧管廊建设,是智慧城市在地下的一个缩影,有助于缓解“大城市病”,实现精细化和动态管理。与此同时,各种传感器技术也将被运用到地下综合管廊运维的每一环,这其中,地下管廊巡检机器人便是其…

android显示网络图片控件,Android控件之ImageView(二)

前言在上一篇文章中,我们讲解了如何加载本地图片,那么在实际项目中 ImageView 大多数使用场景是加载网络图片,网络图片其实就是存储在服务器上的文件,我们需要从服务器获取到文件的二进制输入流 Inpustream ,然后将其转…

坯子库曲面推拉教程_一招曲面流动,搞定99%异形建模

曲面流动可以建什么模型?这样的▼这样的▼还有这样的▼那究竟如何使用曲面流动呢?本文告诉你!曲面流动是什么?曲面流动功能相当于Rhino(犀牛)中的“沿曲面流动”命令,可以使来源几何体群组或组件,根据基准平面为参照,…

android o 结构光流程,惊艳亮相!一分钟看懂OPPO Find X 3D结构光技术是什么鬼,太牛了...

法国时间6月19日,OPPO在巴黎卢浮宫正式举办未来旗舰Find X发布会。此次亮相的Find X新机,既有充满艺术感的3D玻璃机身设计,又有3D结构光、曲面全景屏、双轨潜望结构等多项黑科技。众多黑科技中,以3D结构光O-face最受数目。据悉&am…

jframe运行和预览大小不一样_同一款车型,为什么配的轮胎大小还会不一样?【内含福利】...

小编又来给大家送福利啦~阅读完文章之后 戳文章底部阅读原文 岁末巨献 国货好胎!免费体验价值1999元国产轮胎!相信有不少朋友,买车的时候一定会有类似的经历。选车、试驾的时候,看到试驾车配置相当漂亮,尤其搭配的轮圈…

java设计按月每天签到_活动攻略|新同学新签到,欢乐福利全都要!

12月03日【每日一题答案】— 枫叶书签答对问题即有机会获得金币、道具、积分,还有宠物好奇星噢~12月来了,和12月一起来的是我们的新同学——花轮!谁不喜欢浪漫体贴的小少爷呢!喵星星感觉自己爱消除【最受欢迎男性角色】的地位正岌…

bs cs架构区别_软件架构设计分层模型和构图思考

今天谈下架构设计中的分层思维和分层模型以及基于分层思维下的架构构图逻辑。架构思维概述对于架构思维本身仍然是类似系统思维,结构化思维,编程思维等诸多思维模式的一个合集。由于架构的核心作用是在业务现实世界和抽象的IT实现之间建立起一道桥梁&…

pin码计算器网页版_AP微积分Excel简便计算+网页工具指南

今年的AP考试既然是开卷,允许大家使用各种资源。今天一个学生提了一个不(zhe)错(mo)的(wo)想(de)法(shi)。于是给大家写了一个Excel的公式表格照例老规矩:点个”在看“再走呗先说明一下使用指南:文末有下载表格包含:(目前的功能&a…

HTML文本下划线效果,聊聊CSS中文本下划线_CSS, SVG, masking, clip-path, 会员专栏, text-decoration 教程_W3cplus...

在Web中给文本添加下划线常常出现在链接的文本上,早期一般使用text-decoration属性给文本添加下划线、删除线等。除了text-decoration之外,CSS还有很多技术方案可以给文本添加下划线效果,比如border-bottom、box-shadow、background-image等。…

学员感言html效果图,学员感言丨非计算机专业学员 开始学HTML5的点点滴滴

学员感言丨非计算机专业学员 开始学HTML5的点点滴滴来源:奇酷教育 发表于:2017-08-03 12:09:25在奇酷学员学习HTML5的这段时间里,让我学习到了实用的技能和知识。我是一个非计算机类学生,可以说是对编程一窍不通,在选择…

请领导批阅文件怎么说_请领导吃饭,不要对外说,职场员工为何如此保密?

前一段时间公司员工晋升,因为小王在公司的表现非常不错,所以成为了公司领导的秘书。其实按理来说,成为公司领导的秘书与否,往往只需要看这个员工有没有眼力,看她的办事能力如何,能不能提高公司的整体效率&a…

幼儿使用计算机需要注意事项,儿童玩电脑注意事项

相信现在的家庭里面很多小孩子爱玩电脑,但是电脑玩多了,对孩子眼睛、身体都不好,那么应该怎么才能科学玩电脑呢?妈网百科给大家总结了一些其他家长的经验,希望能够帮得到各位有需要的家长。【与电脑保持距离】孩子与电…

c++实现卷积码编码和维特比译码_鑫艾勒维特家用别墅电梯:安全至上,无可替代...

近年来,随着房地产行业的兴起,家用别墅电梯作为房地产配套产业也逐渐走进了平常家庭别墅中,如今一句俗语“无梯不成墅”将电梯在别墅中的重要地位彰显的淋漓尽致。艾勒维特家用液压小电梯因其适用于私人住宅,适用场景多样等特点&a…

某个元素的距离页面的左边距_如何提高办公写作效率?先设置好页面上的这4类数据,准没错...

有人说,在体制内混的好,首先要文笔好。这里要说的是,一个文笔好的人,可能在哪里都能混的好。#直言职场#因为很多表达形式都需要以文字做雏形,进而进行各种形式的变换和转化。就拿当下很热门的自媒体行业来说&#xff0…