首页 >常见问题 > 正文

switch语句中必须有default选项吗?

原创2020-11-30 14:01:45010105

switch语句中不是必须有default选项的。switch语句首先会找满足条件的case值做为执行后面的程序入口,若所有的case都不满足,则找default入口,若未找到则退出整个语句;default只是一个备用入口,有没有都无所谓。

Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择;常和case、break、default一起使用。

switch语句可以用于基于不同的条件来执行不同的动作。

switch语句是一个条件选择语句,首先会找到满足条件的case值做为执行后面的程序入口;若所有的case都不满足,则找default入口,若未找到则退出整个switch语句;所以default只是一个备用的入口,有没有都无所谓。

但是为了进行错误检查或逻辑检查,还是应该在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: printf ("Unknown response : %d\n", char_code);
          break
......

此外,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
     }
}

更多编程相关知识,请访问:编程学习网站!!

以上就是switch语句中必须有default选项吗?的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:switch default选项
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    青灯夜游

    今天学习一小步,明天提升一大步

    最近文章
    php怎么分割数组为几部分657
    php怎么删除指定下标的数组值825
    php怎么获取当前方法的参数值729
    推荐视频教程
  • PHP开发编码规范PHP开发编码规范
  • nodejs开发基础教程nodejs开发基础教程
  • PHP开发免费公益直播课PHP开发免费公益直播课
  • Mac PHP开发工具与环境搭建Mac PHP开发工具与环境搭建
  • 视频教程分类