goto语句用起来杀敌一千 自损八百
C语言以灵活著称,提供了可随意滥用的goto语句以及标记跳转位置的标号,本来goto的用法也比较特殊,比如一次跳出两层或更多的循环,即跳出深度嵌套[1]
for(…)
for(…){
…
if(xxx)
goto error;
}
上面的例子用于处理错误,不过上面的例子也可以写成不带goto的,只是会增加额外的重复测试或者变量。但是用goto看起来好一点理解
如果goto语句用的多,那么就要坏事儿,因为你已经看不懂你的代码逻辑了,到处都是循环依赖,理都理不清楚。
乱的代码我就不贴出来了,我放在了一个技术问答里面。
goto 如果不是跳出深度嵌套,就不要用。
参考资料:
[1] C程序设计语言第二版-新版 KR P54