补充switch语句的内容和逗号运算符(C语言case后没有break的switch语句,会继续执行后面的语句再退出)

article/2025/6/8 14:51:14

补充switch语句的内容和逗号运算符

  • C语言case后没有break的switch语句,会继续执行后面的语句再退出
  • 补充逗号运算符

C语言case后没有break的switch语句,会继续执行后面的语句再退出

对于switch语句,我们在使用的时候都会注意使用的规范,即每个case语句后面都要有个break,达到对应的情况下语句执行后退出的目的。但是如果漏掉了case后的break,就会出错,执行以下代码:

#include <stdio.h>
int main()
{int k=5,n=0;while(k>0){switch(k){case 1:n+=k;case 2:case 3:n+=k;default:break;}k--;}printf("%d\n",n);return 0;
}

随便一看肯定是3+2+1=6,可是运行一下打脸了:
在这里插入图片描述
结果是7,找一下哪里出了问题,每次循环都输出一次n的值:
在这里插入图片描述
发现最后一次连续加了两次1,即3+2+1+1=7,这是因为case后没有break的语句继续执行再退出
在这里插入图片描述
在这里插入图片描述
直到遇到break退出:
在这里插入图片描述
如果只有一个case,只执行一次就退出
在这里插入图片描述
把上面的代码改为如下图:
在这里插入图片描述
缩进对齐后加上break,看起来就舒服多了

补充逗号运算符

前面的博客中没有写过逗号运算符。现在补充一下。
逗号运算符你又称为顺序求值运算符。逗号运算符的主要使用方法就是连接多个表达式。如a=1,b=2,y=a+b,用逗号运算符连接起来的多个表达式成为一个整体,这个整体被称为逗号表达式,逗号表达式的结合性是自左向右,求解过程是一次计算各个表达式的值,并将最后一个表达式的值作为这个整体逗号表达式的值
在这里插入图片描述
括号的优先级最高,先看括号里面的,里面是一个逗号表达式,一次自左向右计算,先给a赋值2,再给b赋值3,左后计算a+b,并将a+b的值5作为整个逗号表达式的值赋给c,输出c
逗号表达式在所有的运算符中优先级最低
不是所有出现的逗号都是逗号运算符,多数情况下出现的逗号只起分隔的作用,如int a,b,c;中的逗号只是分隔作用。
在这里插入图片描述


下一篇文章:C语言数组+内存编址+推箱子小游戏


http://chatgpt.dhexx.cn/article/fVNRWx9L.shtml

相关文章

c语言 case break,C语言中switch...case语句中break的重要性

在C语言中switch...case语句是经常用到的&#xff0c;下面我介绍一下在使用该语句时候需要注意的一个细节问题。话不多说&#xff0c;直接举例子&#xff1a; 例子1&#xff1a; switch(fruit) { case 1:printf("apple"); break; case 2:printf("banana");…

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

给一个含有嵌套的switch case的一段完整代码&#xff1a; #include int main() { int n1; int m2; 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…

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

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

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

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

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 关键字

&#x1f6a9;write in front&#x1f6a9; &#x1f50e;大家好&#xff0c;我是謓泽&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f3c5;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的用户没有权…