switch()括号里面一定要用整形表达式,否则会报错(字符也属于整形)
case后面也要整形常量表达式,一定要常量,不能变量
case语句后面是用冒号: 不是分号;
switch (整形表达式)
{
case 整形常量表达式:
执行语句
break;//停止 跳出
}
用switch实现
1.输入1~5,输出weekday
2.输入6~7,输出weekend
#include<stdio.h>
int main()
{
int day = 0;//定义变量,并赋予初始值
scanf_s("%d", &day);//输入day的值到day的地址
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");//如果day=1,打印weekday
break;//停止 跳出
case 6:
case 7:
printf("weekend\n");//如果day=6,打印weekend
break;//停止 跳出
default://如果day=8或者其他数字,就跳到default语句
printf("不存在星期%d", day);
break;
}
return 0;
}
注意:default语句执行所有case不能匹配的
在每个switch语句后面都放一个default语句是个好习惯,甚至可以在后面加一个break
switch允许嵌套使用
switch语句中的break只能跳出自己所在的switch语句,不是说一个break跳出所有的switch语句