求一个switch语句的解答
答案:3 悬赏:0
解决时间 2021-02-10 07:27
- 提问者网友:醉归
- 2021-02-10 01:25
求一个switch语句的解答
最佳答案
- 二级知识专家网友:偏爱自由
- 2021-02-10 02:53
因为你的程序每一句的case 后面没有break啊
第一次输出0后就不再检验一直输到default共三个0
第二次i=1,只有defalut满足输出 1
第三次i=2,第二个Case满足输出到defalut共输出两个22
合起来就是 000122 了
第一次输出0后就不再检验一直输到default共三个0
第二次i=1,只有defalut满足输出 1
第三次i=2,第二个Case满足输出到defalut共输出两个22
合起来就是 000122 了
全部回答
- 1楼网友:荒唐后生
- 2021-02-10 05:02
比如下面的例子 输入数字,按下列对应关系显示。当输入^z时,程序结束。 输入数字 显示 1 a 2 b 3 c 4 d 其他 ? 说明: c语言中switch语句的格式是这样的 switch(表达式) { case 常量表达式1: 语句1 case 常量表达式2: 语句2 ..................... case 常量表达式n: 语句n default : 语句n+1 } 它的执行流程:当表达式的值和某个case后面的语句相同时执行这个case后面的语句(并接着执行下面的语句,如果不希望接着执行下面的语句要用break语句跳出)。 下面c语言实现的你的逻辑要求(程序已调试过了): #include "stdio.h" main() { int num; scanf("%d",&num); switch(num) { case 1: putchar('a'); break; case 2: putchar('b'); break; case 3: putchar('c'); break; case 4: putchar('d'); break; default: putchar('?'); } printf("\n"); } 希望对朋友你有帮助!
- 2楼网友:寂寞的炫耀
- 2021-02-10 03:43
给guotieqiang分吧,每个case都该加break。
i=0,三个case都会跑一遍,打出000,
i=1,跑defaut,打出1,
i=2,跑case 2和default,打出22,
自然就是000122。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |