神奇的C语言八:慎用switch
来源:互联网 发布:如何写js插件 编辑:程序博客网 时间:2024/05/18 01:24
C语言是比较底层的语言,和机器指令很接近。
switch结果翻译出的机器指令序列的跳转格式是固定的,会逐个尝试所有case,直到找到,或者switch结束。
例子:
int a = 88;switch(a){a = 99;case 88: printf("%d\n", a); break;case 99: printf("%d\n", a); break;default: break;}
会最终输出什么呢?是88。
a = 99并没有被执行,因为进行switch之后接下来就是case匹配,找到了case 88就进行了case 88的代码去执行了。
执行到哪里结束呢?需要程序员指定结束位置,例如通过break来结束。如果没有指定,就会按照指令的顺序一次一直执行下去。
如果当初设计的时候,生成代码时自动在每个case的代码段后加入跳出switch的指令,会省去很多麻烦事儿的 :)
0 0
- 神奇的C语言八:慎用switch
- c语言的switch
- switch的神奇用法
- C/C++ 感悟 --- 神奇的语言
- 神奇的C语言一:函数指针
- 神奇的C语言十四:可变参数
- 神奇的C语言十五:dummy代码?
- 神奇的C语言五:异常处理
- 神奇的C语言十二:宏
- 神奇的C语言十三:关于void
- 神奇的C语言十七:typeof关键字
- C语言中#的神奇作用
- 遇到一个C语言的神奇问题
- 神奇的C语言++运算符
- 神奇的C语言十九:C语言的内存分配
- C语言 switch语句的的用法
- 神奇的C语言--C语言未定义行为一览
- C语言switch语句的汇编语言实现
- 为什么用eclipse启动tomcat就能打开exec要执行的命令,而直接用安装版的tomcat就打不开呢
- eclipse报错:one or more constraints have not been satisfied
- 总结一些Java中取绝对路径的方法
- [Python]网络爬虫(一):抓取网页的含义和URL基本构成
- 金万维与浪沙软件达成全线产品战略合作
- 神奇的C语言八:慎用switch
- 给 C# 开发者的代码审查清单
- UITabbarViewController+Navigation框架下的子视图的跳转示例之一
- spring与mybatis整合
- install sublime for linux
- 应用程序间共享数据的能力的疑惑【希望能每天水一发】
- Spring结合java Quartz配置实例代码
- Web.XML 配置详解
- Jira5.0.2安装及破解