这是从C语言继承的特性。
不过这个的确容易犯错,所以Anders在C#做了个修正。
至于C语言为什么会如此设计,具体原因不可考,猜测一下:
1、这样规则最简洁,换言之swicth就可以完全等价于if goto else if goto这样,以case xx:作为上一个case的结束,在语义上与break重复,规则更复杂,并且想要贯穿时需要增加额外的代码:goto case next;。这种语法对应到汇编的规则也是最简洁的。
2、便于叠加多个case,例如:
case 0: case 1: //xxx 这种写法很常见。
问C语言
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有