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

article/2025/5/19 0:16:07

给一个含有嵌套的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。

附上程序运行结果:

0818b9ca8b590ca3270a3433284dd417.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://chatgpt.dhexx.cn/article/nEyWjdai.shtml

相关文章

c语言 switch案例,c语言switch case语句使用例子

c语言switch case语句使用例子 发布时间:2020-04-23 11:48:53 来源:亿速云 阅读:421 作者:小新 这篇文章主要为大家详细介绍了c语言switch case语句使用例子,文中示例代码介绍的非常详细,具有一定的参考价值…

c语言的case语句怎么用,c语言的switchcase语句用法

凡是使用过的人都会有同2113样的感觉—5261—C语言的使用灵活这个特点既是优点又是4102缺点, 因为对1653精通C语言的用户来讲, 灵活就意味着编程可以无拘无束, 甚至随心所欲; 但对初学者或者是尚未摸着规律的用户来说,…

case是c语言变量名吗,case是什么意思_c语言中case是什么意思

c语言中case是什么意思 是程序的入口,一般结合switch使用 举个例子: int a=2; switch(a){ case 1:prinf("1");break; case 2:prinf("2");break; default:prinf("3"); } 就表示根据a的值进行判断,a的值与 case后面的哪个值相等,就执行哪个cas…

【C语言】case 关键字

🚩write in front🚩 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5&#xff5…

c语言库函数总结----math.h库

思维导图大纲 前言 上回总结了string.h常用的字符串操作函数,这次总结一下另外的一个库函数math.h和数字运算有关联的库。 double acos(double x) 函数原型:double acos(double x) 功能:返回以弧度表示的 x 的反余弦。arcos(x);//时间:2019年11月15日 //作者:Kroner //编…

c语言实现库函数

目录 一.strlen函数 1.描述 2.实现 1.计数的方法 2.函数递归的方法 3.指针 - 指针方法 二.strcmp函数 1.描述 2.实现 三.strcpy函数的实现 1.描述 2.实现 四.strcat函数的实现 1.描述 2.实现 五.strstr函数的实现 1.描述 2.实现 1.BF算法实现 2.kmp算法的实现…

C语言 库函数:qsort 详解

目录 1.qsort的介绍与使用方法 2.介绍void*​ 3.举例使用qsort​ 4. qsort的模拟实现&#xff0c;了解其运作原理​ 1.qsort的介绍与使用方法 2.介绍void* 3.举例使用qsort #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include…

C语言库函数查找工具MSDN

一、前言   库函数在我们写程序的时候会在很大程度上提高我们的效率&#xff0c;我知道很多人可能像我一样&#xff0c;很多时候并不是不知道可以用库函数来实现&#xff0c;但就是不知道库函数如何使用&#xff0c;所以今天呢博主就来推荐资源了——C语言库函数查找工具《MS…

文件编程概念(C语言库函数系统调用API)

文件编程&#xff08;文件IO&#xff09; 文件编程就是操作文件&#xff0c;对文件进行打开&#xff0c;关闭&#xff0c;读、写等操作&#xff08;个人理解&#xff09;。之前C语言编写程序运行都是对键盘和显示器进行的&#xff0c;运行程序时会默认打开的三个文件 标准输入流…

c语言库函数大全文库,C语言库函数源代码

C语言库函数源代码 C语言库函数源代码 strstr ( )/* -- C语言库函数源代码 - */ /* 得到s1中第一次包含s2字符串的位置指针。 */ #include stdlib.h char * my_strstr(const char *s1,const char *s2) { if (*s1 0) { if (*s2) return (char *) NULL; return (char *) s1; } …

C语言常用的库函数 (自用)

常用的库函数 1.前言2.内容1.toupper()2.tolower()3.sprintf()4.abs()5.fabs()6.labs()7.scanf()8.itoa() 3.小声bb4.更新日志 1.前言 在刷题过程中&#xff0c;总能看到dl用一些库函数&#xff0c;简化算法&#xff0c;由此萌生慢慢学习整理常用的库函数的想法&#xff0c;本…

c语言的库函数

一、标准C库函数(15个) 二、数学函数 用于求幂&#xff0c;计算平方跟&#xff0c;求绝对值。#include <math.h>绝对值函数用于表达式的结构转换为非负函数 int x-3; printf("|%d|%d\n",x,abs(x)); 三、字符串处理函数 四、字符处理函数 五、转换函数和存储管…

MySQL 远程访问失败的原因及解决方案

文章目录 1、失败的原因1.1、 /etc/mysql/my.cnf文件中bind-address 127.0.0.1没有注释掉1.2、 端口3306没有开放&#xff0c;使用 ss -tlnp 命令查看网络端口开启状态1.3、 在MySQL数据库user表中host字段值为localhost 2、解决方案2.1、/etc/mysql/my.cnf文件中&#xff0c;…

mysql5.7.6允许远程_mysql5.7 设置远程访问

mysql5.7设置远程访问不是和网上说的一样建个用户赋个权限就可以访问的。比如下边这个就是建用户赋权限&#xff0c;可能在之前的版本可以&#xff0c;但是我在我的mysql上一直不行。为此烦了好久&#xff01;&#xff01;&#xff01;项目都耽误了&#xff01;&#xff01; 一…

Mysql远程访问权限

在阅读本文时&#xff0c;推荐先走读完浅谈Mysql权限控制一文。 Mysql启动默认的端口3306是打开的&#xff0c;此时打开了mysqld的网络监听&#xff0c;允许用户远程通过账号密码连接本地数据库&#xff0c;Mysql数据库默认是允许远程用户连接服务器的。 那么&#xff0c;为什…

Mysql远程访问限制ip

一、Mysql允许指定IP远程访问 1、登录mysql -u root -p 之后输入密码进行登陆 2、查看用户表 首先要先指定使用mysql数据库&#xff0c;然后再进行查询操作//进入mysql数据库 mysql> use mysqlmyql> select Host,User from user;下面的列表就是查询user表后可以访问…

CentOS7 开启mysql远程访问

一.开启mysql的远程访问权限 可以先查看下表的内容 1.用mysql自带的客户端连接mysql mysql mysql -uroot -p 输入root用户的密码 进入mysql命令行模式 mysql >select user,host from mysql.user; 2.如果要直接使用root用户远程连接,直接执行以下sql 方法一: mysql>upda…

MySQL设置远程访问权限

当我们在日常开发中&#xff1b;需要连接其他同事的数据库或者其他服务器的数据库&#xff1b;可能会出现以下情况 我们输入的用户和密码都正确&#xff1b;但是提示我们用户没有权限&#xff1b;这个用户指的是远程连接的电脑ip没有访问权限&#xff1b;不是mysql的用户没有权…

Mysql允许远程访问

目录 远程访问条件配置1、配置绑定地址2、授权用户改表授权 远程访问条件 mysql允许远程访问有两个必要条件 外部能访问到mysql开启的端口用户有权限访问 配置 1、配置绑定地址 mysql配置绑定的地址是127.0.0.1&#xff0c;只允许本机连接。为使其他主机可以访问mysql服务…

授权MySQL可以远程访问

MySql-Server 出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)来连接访问.要实现远程访问必须给root修改可以远程访问的权限。 授权步骤&#xff1a; 1.进入数据库连接mysql -u root -p&#xff1b; use mysql&#xff1b; 2.查询用户表命令&#xff1a;select User,au…