为了账号安全,请及时绑定邮箱和手机立即绑定

C语言中goto语句的标号有没有作用域?

C语言中goto语句的标号有没有作用域?

慕婉清6462132 2019-02-20 19:15:19
C语言中goto语句的标号有没有作用域?
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

变控制流,无法通过本身返回。要用goto返回,可以定义多个label,在不同位置配合不同label使用goto语句
label在函数内定义,作用域就是整个函数,和其它名称一样无法改变。由于不是左值,它没有生存期,仅在编译期有意义。
----
everyone998 错误。编译器至少会对label标识符进行语义检查。函数调用和goto是不同的。函数调用或返回时,一般的实现中需要根据调用约定清理堆栈。调用时先保存现场,复制实际参数,然后才是跳转,并不是直接无条件跳转那么简单。也因此goto语句无法跨函数跳转。

查看完整回答
反对 回复 2019-03-26
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

作用域为你的整个MAIN函数。不过建议慎重使用,能不用就不用,特别是别往回跳转。

查看完整回答
反对 回复 2019-03-26
  • 3 回答
  • 0 关注
  • 1893 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信