学习内容:
#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
子句。