goto语句的七伤拳属性
2017-08-28 20:00
155 查看
goto语句用起来杀敌一千 自损八百
C语言以灵活著称,提供了可随意滥用的goto语句以及标记跳转位置的标号,本来goto的用法也比较特殊,比如一次跳出两层或更多的循环,即跳出深度嵌套[1]
上面的例子用于处理错误,不过上面的例子也可以写成不带goto的,只是会增加额外的重复测试或者变量。但是用goto看起来好一点理解
如果goto语句用的多,那么就要坏事儿,因为你已经看不懂你的代码逻辑了,到处都是循环依赖,理都理不清楚。
乱的代码我就不贴出来了,我放在了一个技术问答里面。
goto 如果不是跳出深度嵌套,就不要用。
参考资料:
[1] C程序设计语言第二版-新版 KR P54
C语言以灵活著称,提供了可随意滥用的goto语句以及标记跳转位置的标号,本来goto的用法也比较特殊,比如一次跳出两层或更多的循环,即跳出深度嵌套[1]
for(…) for(…){ … if(xxx) goto error; }
上面的例子用于处理错误,不过上面的例子也可以写成不带goto的,只是会增加额外的重复测试或者变量。但是用goto看起来好一点理解
如果goto语句用的多,那么就要坏事儿,因为你已经看不懂你的代码逻辑了,到处都是循环依赖,理都理不清楚。
乱的代码我就不贴出来了,我放在了一个技术问答里面。
goto 如果不是跳出深度嵌套,就不要用。
参考资料:
[1] C程序设计语言第二版-新版 KR P54
相关文章推荐
- sql中的modify语句,修改列属性
- AutoVBA控件的tabindex和tabstop属性及with语句
- goto语句体会
- javascript-老毕版(with语句、for语句、javascript已有对象、属性和方法)
- 记录一些常用的JS属性和语句
- 创建数据库以及其属性的sql语句
- CSS的常用滤镜(filter)属性及语句大全--摘自http://www.8tops.com/113_skill_8267CEB6473B4AF1ABF669340E3AD2EF.htm
- 如何检测mysql 数据库执行了哪些sql语句 ecshop如何添加商品属性 ecshop 商品属性批量采集入库
- goto语句
- c循环语句for,while,do while,goto
- goto语句的“跳跃”问题
- C语言中break,continue,goto,return语句区别
- goto语句的“跳跃”问题
- hql语句实现查询对象部分属性
- java中goto语句
- SQL 语句修改字段名称,属性,默认值
- GOTO语句以及GOTO机制的模式实现
- C# 跳转语句(break,continue,goto,return,throw)
- LCC编译器的源程序分析(39)goto语句
- goto语句