`
lovnet
  • 浏览: 6878728 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

关于goto语句能不能从复杂的嵌套循环判断中跳出去的问题讨论

 
阅读更多
关于goto语句的使用问题,要从技术上来讨论清楚能不能使用,在那些情况下能使用是比较困难的问题。
我在写关于goto语句的使用这段文字时,思考再三,觉得如果从一个复杂的执行状态中goto到另外一个位置时,初学者是很难把握得住的。一个多重嵌套的循环判断中,程序执行路径数目非常大,使用goto语句跳出去后,初学者很难分析出那些路径会不会存在问题。
从另外一个角度考虑,如果允许goto语句在多重嵌套的循环判断中跳出,等于鼓励使用goto语句,对有经验的人来说不成问题,但对初学者来说就容易出现滥用的问题。不使用goto语句并没有关系,但一旦goto语句被大规模使用,造成的后果就大了。前几年我发现我的一个下属代码中出现很多goto语句,我说“goto语句不是不建议使用的吗?你的代码中为什么这么多goto语句呢?”他告诉我在其他书中看到有说可以用goto语句。
所以权衡再三,为了避免goto语句被滥用,避免把初学者引入歧途,我还是把goto语句不能从一个复杂的状态中跳到另一个位置那段话写入了书中。
以上我对goto语句的一些看法,不当之处请大家指正。
分享到:
评论

相关推荐

    lua 5.2 中GOTO语句的使用

    - `GOTO` 不支持跨循环之间的跳转,但支持在同一层次的循环或不同层次的嵌套循环之间的跳转。 **错误示例**(跨循环跳转): ```lua function gt() i = 2 while i i = i + 1 if i == 3 then goto lab ...

    pb基本循环语句详解

    4. **嵌套循环**:可以在循环内部嵌套其他循环,以实现更复杂的逻辑。 5. **跳出循环语句**:`BREAK`用于立即退出当前循环,`CONTINUE`跳过当前循环的剩余部分,继续下一轮循环。 6. **逻辑控制结构**:`GOTO`语句...

    break_continue_goto_return语句

    Continue 语句的功能是立即结束本次循环,即遇到 Continue 语句时,不执行循环体中 Continue 后的语句,立即转去判断循环条件是否成立。Continue 语句与 Break 语句的区别是,Continue 只是结束本次循环,而不是终止...

    VB GoTo语句用法实例

    在VB(Visual Basic)编程语言中,GoTo语句是一种流程控制语句,它允许程序执行非线性的跳转,即从当前代码行跳转到程序中的其他任意标记行。这种跳转方式在某些情况下非常有用,但也可能导致复杂的代码结构,增加...

    第1课 嵌套循环.pdf

    在实际应用中,嵌套循环通常用于处理多维数据结构、进行复杂的数学计算或解决需要多重条件判断的问题。例如,要输出一个n行的直角三角形,可以通过双重循环来实现: ```cpp for (int i = 1; i ; i++) { // 外循环...

    C#goto语句查询源代码

    在本主题中,我们将深入探讨`goto`语句的使用、优点、缺点以及如何在实际项目中审慎使用。 `goto`语句的基本语法是: ```csharp goto label; ``` 其中,`label`是一个标识符,用于标记跳转的目标位置。例如: ``...

    dowhile语句 for语句 循环结构的嵌套PPT学习教案.pptx

    嵌套循环的使用应当谨慎,避免无限循环或性能问题。 总的来说,do-while和for循环是C语言中控制循环的基本工具,它们提供了灵活的方式来重复执行代码块,根据不同的需求选择合适的循环结构可以极大地提高代码的效率...

    C语言循环语句PPT课件.pptx

    C语言中的循环语句是指在程序中反复执行某些语句的语句,包括goto语句、while语句、do-while语句和for语句。 一、goto语句 goto语句是一种无条件转移语句,格式为:goto语句标号;。goto语句只能出现在goto所在...

    Matlab中的goto函数

    虽然在许多现代编程语言中,`goto`被认为是一种“有害”的编程构造,因为它可能导致代码难以理解和维护,但在某些特定的复杂逻辑处理或循环跳出等场合,`goto`的使用可以提高效率。 `goto`的基本语法是: ```matlab...

    goto语句.zip

    在压缩包中的“goto语句”文件很可能是包含若干个使用`goto`语句的C++代码示例,这些示例可能会演示如何在不同情况下使用`goto`,如跳出多层循环、实现复杂的错误处理流程等。通过分析和理解这些示例,初学者可以更...

    C goto语句与标号.pdf

    在多层嵌套循环中,如果需要一次性跳出所有循环,`goto`语句是非常有用的。例如,上述代码展示了如何使用`goto`在发现错误(`disaster`)时立即跳转到错误处理部分(`error:`)。 4. **数组元素比较** 另一个示例...

    计算机二级C语言考点归纳:goto语句及语句标号的使用.docx

    在实际开发中,goto语句的使用需要谨慎,应该尽量避免使用goto语句,尽量使用其他控制结构,例如循环语句和条件语句,以便使得代码更加易读和维护。 goto语句是一种有用的控制结构,它可以实现程序的跳转控制,但是...

    IDL基本语法_idlgoto语句_IDL中goto语句_IDL基本语法_

    `continue`语句则用于跳过当前循环的剩余部分,并继续下一次迭代。在需要提前结束某次循环迭代但不完全退出循环时,`continue`非常有用。 `switch`语句是IDL中的多分支选择结构,它根据表达式的值执行不同的代码块...

    在3条循环语句中,for语句最为灵活,不仅可用于循环次数已经确定的情况,也可用于循环次数虽不确定、但给出了循环继续条件的情况。

    总结起来,C语言中的for语句是最为灵活的循环语句,它能处理已知和未知循环次数的情况,且通过不同的初始化、条件和更新表达式组合,可以适应各种复杂的循环逻辑。在编写程序时,应根据具体需求选择合适的循环结构,...

    关于goto使用的争论

    1. 从多重循环中直接跳出:在某些复杂的循环结构中,使用goto语句可以直接跳转到程序的特定位置,避免了嵌套循环的繁琐退出。例如,当满足特定条件时,可以使用goto跳过剩余的循环迭代,简化代码。 与结构化程序...

    c语言-08-使用goto语句从循环中跳出.rar

    c语言-08-使用goto语句从循环中跳出.rar

    C#教学课件:第三章 流程控制语句.ppt

    选择语句是指根据表达式的值从若干个给定的语句中选择一个来执行的语句。常见的选择语句有if语句、if else语句、if else if else语句、嵌套if语句和switch语句等。if语句是使用最多的条件分支结构,它属于选择语句,...

    深圳大学C语言教程 第六章 循环结构

    本章节主要讲解了C语言中的循环结构程序设计,包括while语句、do-while语句、for语句等循环结构的使用方法和特点,以及循环嵌套、break语句、continue语句、goto语句、exit()函数等相关知识点。 循环结构的定义和...

    Go语言流程控制之goto语句与无限循环

    本篇将深入探讨两种特定的流程控制构造:`goto`语句和无限循环。虽然`goto`在某些情况下可能会提供便利,但它的使用通常被视为不良编程实践,因为会导致代码难以理解和维护。而无限循环则是循环结构的一个特例,有时...

Global site tag (gtag.js) - Google Analytics