C语言switch 中default子句的作用

C语言switch 中default子句的作用

首先来想一下,在switch语句中,如果表达式的值与所有的case标签的值都不匹配怎么办? 其实也没什么-----所有语句不过是跳过而已。程序并不会终止,也不会提示任何错误,因为这种情况下在C中并不认为是个错误。
但是,如果你并不想忽略所有case标签的表达式值时又要如何去做?这时候就需要在语句列表中增加一条default子句,把这个标签:

default:

写在任何一个case标签可以出现的位置。当switch表达式的值并不匹配所有的case标签的值时,这个default子句后面的语句就会执行。所以,每个switch语句中只能出现一条default子句。但是它可以出现在语句列表的任何位置,而且语句流会像贯穿一个case标签一样贯穿default子句。

提示:

在每个switch语句中都放上一条default子句是个好习惯,因为这样做可以检测到任何非法值。否则,程序将若无其事的继续运行,并不提示任何错误。这个规则唯一合理的例外是表达式的值在先前已经进行过有效的检查,并且你只对表达式可能出现的部分值感兴趣。

猜你喜欢

转载自blog.csdn.net/weixin_42822164/article/details/85212586