需要重点强调的是,当和某个整型数值匹配成功后,会执⾏该分⽀以及后⾯所有分⽀的语句。//很奇怪的设定,如果⼀个通了关,后⾯关卡就失效了,直接取⾥⾯的东西的意思。
简⽽⾔之:就是如果不在case:的语句中加⼊break,那么case就像失效了⼀样。
也会遇到这么⼀种情况,你在某⼀个case中加了,实际就在加了break中跳出,switch
所以⼀定要加什么?⼀定要在case:结束的时候加⼊break.
其中,default是最后的⼀个分⽀,有default那么,如果没有case匹配的话,肯定会匹配到default中,带来了两个事,⼀个是default中的break实际可以不写,第⼆个就是,如果不需要default实际可以不写的,不写的话,case不匹配就掠过switch语句了。
还有⼀个需要注意!
case 之后⼀定是⼀个整数,或者是⼀个整数的表达式。
case 2://对
case 'a'+2://对,因为字符和整数可以转换
case a://不对,因为a是变量
总结需要注意:
1.default不是⼀定有写
2.default位置放在哪都不影响输出结果和case⼀样
3.case之后⼀定要是整数和整数表达式
4.switch做相等性检测,不能像 if 语句那样做关系表达式或逻辑表达式计算,进⾏逻辑真假判断。
2.其他应⽤类问题:
2.1 我遇到case1:case2:运⾏相同的语句了怎么办?
#include <stdio.h>
int main()
{
int day;
printf("Input integer number:");
scanf("%d",&day);
switch(day)
{
case 7:case 1:case 2:case 3:case 4:case 5:case 6:
{
printf("SUNDAY");
break;
}
return 0;
}
switch case判断字符串}
case 1: case2://这样就可以了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论