①例子
#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
- webkit|C语言-switch语句执行顺序
- dram|一号本ONE-GX1 Pro开箱,感受到了什么叫,电脑版Switch
- c语言|华为刚彻底打破,谷歌马上公布安卓13,外媒:恢复GMS是最好选择
- c语言|万万没想到,OPPO K10 Pro居然会用上骁龙888
- c语言|荣耀X40 Max即将来袭,天玑8100与5500毫安加持,大屏手机时代来临
- c语言|vivo X80 Pro手机量产,4700 mAh+4nm芯片,值得入手
- delphi|Delphi编程的粉丝朋友,怎能拒绝学习TypeScript或C#(sharp)语言呢
- 网友热议|女生花5万买巧克力送校友被网暴 本人重申:希望大家善待网络语言
- 团购|继华为仓颉后,再现4款国产编程语言,形式多样,有一款0代码
- c语言|32G+1TB存储,售价低至2499,T-bao成为穷人买得起的高配笔记本?