• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机中的goto可以跨越函数么

厉害企鹅 2019-04-13 浏览量:2680
单片机中的goto可以跨越函数么
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不可以的。只能是在本函数体内进行跳转。如果跨函数了,那么程序的逻辑就完全乱掉了。程序很容易跑飞的
    • 发布于 2019-04-15
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:11
  • 其实理论上goto可以跨函数的(语法规范里并不禁止),

    但这样的操作太危险啦,一般的实施规范中就禁止啦。

    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 1
    • 0

  • goto语句只能在当前函数里跳转不能跨函数使用.你需要跳到分支子程序中去执行貌似只能是通过调用子程序的方法然后把自身的程序结束
    • 发布于2019-04-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般来说:
    a.goto语句只能goto到同一函数内,而不能从一个函数里goto到另外一个函数里。
    b.使用goto语句在同一函数内进行goto时,goto的起点应是函数内一段小功能的结束处,goto的目的label处应是函数内另外一段小功能的开始处。
    c.不能从一段复杂的执行状态中的位置goto到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。
    d.应该避免向两个方向跳转。这样最容易导致"面条代码"。
    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • goto只能在同一函数内使用,不得跨函数使用,跨函数就使用函数调用功能,C/C++不建议使用过多的goto语句,复杂的程序中容易造成逻辑混乱和程序死机
    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 是不可以的,只能是在同一个函数中进行跳转的了

    一般来说是不建议使用goto的,会引起一些不容易发现的bug

    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 不能,所有的goto作用范围都只能在本函数内,如果goto能跨函数,那编译器就没法设计了,那些调用关系会变得很混乱


    • 发布于2019-04-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 不可以的,只可以在同一个函数内进行跳转的。而且现在用的比较少的,会有隐患,出现程序的ug
    • 发布于2019-04-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 只能是在一个函数内进行goto跳转的,不可以在不同的函数中,否则真的就会产生逻辑上的错误了

    你可以在Keil中试试goto到其他函数,是会报错的

    • 发布于2019-04-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机中的goto可以跨越函数么