黑马程序员技术交流社区

标题: C语言中 goto循环语句为什么不用呢 [打印本页]

作者: yjadair    时间: 2015-5-15 23:38
标题: C语言中 goto循环语句为什么不用呢
能举个例子 最好了
作者: 七尺阳光    时间: 2015-5-16 00:07
goto是一种无条件转移语句,与标号合用,执行goto语句程序会跳转到标号处并执行语句。通常不用的原因是,它的无条件跳转容易使程序层次不清,不利于可读性。具体例子没有,我也是看到过这么介绍的。
作者: kingowe    时间: 2015-5-16 09:27
1.由于goto 语句可以灵活跳转,如果不加限制,它的确会破坏结构化设计风格;
2.goto 语句经常带来错误或隐患。它可能跳过了变量的初始化、重要的计算等语句:
struct student *p = NULL;
   //Code…
   goto state;
   p = (struct student *)malloc(…); //被goto 跳过,没有初始化
   // Code…
   state:
   //Code...
作者: gamyc    时间: 2015-5-18 12:08
最好不用,所以老师在视频教程中没提,但是是 可以用的
作者: dabu5566    时间: 2015-5-18 22:41
goto是一种无条件转移语句,与标号合用,执行goto语句程序会跳转到标号处并执行语句
作者: yjadair    时间: 2015-5-19 17:46
知道了 谢谢
作者: 李闯    时间: 2015-5-19 21:16
goto 语句跳跃是随机,对于严谨的程序不太适合,估计被集体封杀了
作者: yi95392    时间: 2015-5-19 22:31
goto语句破坏了程序的流程结构
作者: 我叫顺子    时间: 2015-5-20 22:04
感谢分享。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2