
①例子
#include< stdio.h>
main()
{int k=5n=0;
do {
switch(k){
case1:case3:n+=1;k--;break;
/*当k=1或3时 , 执行此句 , 这是两种case合并成一行了 。 */
default:n=0;k--;
/*当k不等于1234时 , 执行此句 , 默认兜底情况 。 */
case2:case4:n+=2;k--;break;
【switch|C语言-switch语句执行顺序】/*当k=2或4时 , 执行此句 。 */
printf(\"%d\"n);
while(k>0&&n<5);
/*此句已经不属于switch语句 ,
只要满足循环条件k>0且n<5 , 就继续将k值输入switch 语句 ,
直到条件不满足 , 循环结束 , 输出结束 。 */
~
②执行顺序
该程序存在嵌套语句 ,
外层为do{while()语句 ,
内层为switch语句和printf语句 。
switch语句中有3行3种情况 ,
根据k值找到对应case标号 ,
没有对应case执行默认default情况 ,
注意:
对应 case或default之后的情况也要执行 , 直到 switch语句结束 。
除非遇到 break才能提前结束switch语句 。
~
③计算过程
第一次循环
初值:k==5 , n==0
(1)switch语句
没有对应case
执行default: n==0k==4
执行case2:case4:n==2k==3
break跳出 switch语句
(2)printf语句
打印 n==2
~
第二次循环
k==3n==2
(1)switch语句
对应case3
执行case1:case3:n==3k==2
break跳出 switch语句
(2)printf语句
打印 n==3
~
第三次循环
k==2n==3
(1)switch语句
对应case2
执行case2:case4:n==5k==1
break跳出 switch语句
(2)printf语句
打印 n==5
~
此时n不满足循环条件k>0&&n<5
跳出整个do()while()循环
最终打印结果:235
- 文艺辣评丨新东方直播:一场语言的行为艺术?
- c语言|负责任地推荐这3部手机,好看又配置强,用到2026年不成问题
- 京东|Java:有哪些快速学习Java语言的技巧?
- 红杉资本|广州蓝景技术分享—开发语言JavaScript之多线程
- Uber|大量假冒健身环!网店卖假冒switch配件被查
- 诺基亚|听人话生成代码厉害了,国内首个自然语言生成方法级代码的AI
- aiXcoder XL智能编程大模型发布:自然语言一键生成方法级代码
- 操作系统|好消息接二连三,除编程语言外,国产操作系统根社区也来了
- 产品经理|听人话生成代码厉害了,国内首个自然语言生成方法级代码的AI
- C++|Golang 语言怎么高效使用字符串?
