如果switch语句中的defualt分支的全部内容只是break;

[复制链接]
3459|6
 楼主| XIANSir 发表于 2011-7-26 14:41 | 显示全部楼层 |阅读模式
如题,如果switch语句中的defualt分支的全部内容只是一个break,那个,这个分支是不是根本就不用写啊???
如:
switch(func)
{
case 1:........break;
....
case n:......break;
defualt:break;
}
automation123 发表于 2011-7-26 14:48 | 显示全部楼层
switch中的最后一个语句的break是可以不加的,加上是为了以后维护的方便。
yewuyi 发表于 2011-7-26 15:04 | 显示全部楼层
语法如此规定,即使不写在某些编译器中能编译通过,也不应该不写,估计多数编译器会给出一条警告。
zhuyl456 发表于 2011-7-26 15:17 | 显示全部楼层
可以不写,不过写了以后软件会比较稳定
 楼主| XIANSir 发表于 2011-7-26 16:54 | 显示全部楼层
为什么比较稳定???

你写上也是什么都不做,不写也是什么都不做。。。

另外,可能我说的不太清楚,让有些朋友误会了——比如二楼的朋友!!!!

我说的,不是break是不是可以不写,而是整个defualt分支是不是可以不写,就是连defualt这个关键字都省了——反正这个分支也什么都不做,只有一个break语句。。。

不知对程序有没有影响???
spareribs 发表于 2011-7-26 17:05 | 显示全部楼层
没影响      
写上这个只是万一程序那个部分导致SWITCH出错可以跳出
dqyubsh 发表于 2011-7-26 17:14 | 显示全部楼层
还是写上吧,哪怕仅仅为了书写规范。

一个分支语句的default说的是不符合上述所有case里的条件时执行的函数,哪怕仅仅是执行break,也是为了说明这些不满足条件时的出口。更何况有的时候它真就不只是break。

这里总可以加个注释,呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:冷暖自知,泰然处之;持之以恒,必有所成!

0

主题

609

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部