不!但是为了进行错误检查或逻辑检查,还是应该在switch语句中加入default分支。
例如,下述switch语句完全合法:
- switch (char_code)
- {
- case tyt:
- case 'y': printf ( " You answered YES ! \n" )
- break
- case 'N':
- case 'n': printf ("You answered NO!\n");
- break
- }
但是,如果一个未知字符被传递给这条switch语句,会出现什么情况呢?这时,程序将没有任何输出。因此,最好还是加入一个default分支,以处理这种情况:
此外,default分支能给逻辑检查带来很多方便。例如,如果用switch语句来处理数目固定的条件,而且认为这些条件之外的值都属于逻辑错误,那么可以加入一个default分支来辨识逻辑错误。
请看下列:
- void move_cursor (int direction)
- {
- switch (direction)
- {
- case UP: cursor_up()
- break
- case DOWN: cursor_down()
- break
- case LEFT: cursor_left ()
- break
- case RIGHT: cursor_ right ( )
- break
- default: printf ("Logic error on line number %ld!!! \n",__ LINE__ )
- break
- }
- }
请参见:
1、什么时候用一条switch语句比用多条if语句更好?
2、Switch语句的最后一个分支可以不要break语句吗?