学习内容:
#include <stdio.h>
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:
m++;
case 2:
n++;
case 3:
switch (n)
{//switch允许嵌套使用
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default:
break;
学习产出:
1、在switch语句中,我们没法直接实现分支,搭配break使用才能实现真正的分支,每个case下都要加break,但如果多个case下要执行的语句是一样的可以写成如下代码。否则会不断向下执行直到有break。
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
2、在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。
如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为适合错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
我们可以在语句列表中增加一条default子句,把下面的标签
default:
写在任何一个case标签可以出现的位置。
当 switch表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。