C 多个转到标签如何工作

C 多个转到标签如何工作,c,function,goto,callstack,C,Function,Goto,Callstack,快速问题: 假设我在C代码中工作,我调用goto以转到特定的标签,但我有多个标签: goto A; A: //something B: //something else C: //something else 当我转到A时,我会同时执行B和C还是简单地退出函数?标签只是代码中的一个锚。它不是代码,标签本身不执行。goto语句“跳转”到带有标签(前缀)的语句,标签出现在goto语句中。代码将继续从那里运行,执行过程将遵循前面的所有规则(关于if/else分支

快速问题:

假设我在C代码中工作,我调用goto以转到特定的标签,但我有多个标签:

goto A;

   A:
   //something
   B:
   //something else
   C:
   //something else

当我转到A时,我会同时执行B和C还是简单地退出函数?

标签只是代码中的一个锚。它不是代码,标签本身不执行。
goto
语句“跳转”到带有标签(前缀)的语句,标签出现在
goto
语句中。代码将继续从那里运行,执行过程将遵循前面的所有规则(关于if/else分支、循环、返回等等)


代码不“退出”功能;当执行到达
return
语句时,它从函数“返回”。如果函数体中没有
return
语句,那么当执行到达函数体时,它会返回关闭的花括号(
}
)。

它会做它告诉你的事情:just
goto
label
A
。我很好奇,为什么它会退出函数?为什么问这样的问题?这将花费不到一分钟的时间来检查。我投票将此问题作为离题题结束,因为用户可以轻松地测试它(无需提问)。