C++里 goto语句用法

比如他goto到一个label1处,开始从label1处运行,什么时候结束这个goto反回引发goto的起始位置?,另外label可以有结束定义语句吗?... 比如他goto到一个label1处,开始从label1处运行,什么时候结束这个goto反回引发goto的起始位置?,另外label可以有结束定义语句吗? 展开
 我来答
百度网友b0cf9b859
2010-08-13 · TA获得超过1390个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:503万
展开全部
goto是无条件跳转,只要到了这里就从goto的地方开始运行。goto不是函数,是不会返回的,也没有结束定义语句
来自美国迷人的阿拉蕾
2010-08-13 · TA获得超过2896个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:179万
展开全部
goto会执行到你设置的下一个标号之前。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞驰_chen
2010-08-13
知道答主
回答量:26
采纳率:0%
帮助的人:20.1万
展开全部
执行goto跳转后,是不会返回的。
goto不是中断,注意与中断的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
100duman
2010-08-13 · TA获得超过966个赞
知道小有建树答主
回答量:1014
采纳率:100%
帮助的人:265万
展开全部
goto其实是程序运行完后,在return前,再执行goto语句的,给你个例子参考,你用F10但不单步调试下就知道了
int main()
{
int ap =0;
while(cin>>ap)
{
if (ap>0)
{
goto p1;
p1:
cout<<"greater than zero\n";
}
else
{
goto p2;
p2:
cout<<"less than zero\n";
}
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FrankHB1989
推荐于2017-11-23 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3154万
展开全部
goto是无条件跳转,只能在goto语句出现处改变控制流,无法通过本身返回。要用goto返回,可以定义多个label,在不同位置配合不同label使用goto语句。
label在函数内定义,作用域就是整个函数,和其它名称一样无法改变。由于不是左值,它没有生存期,仅在编译期有意义。
----
everyone998 错误。编译器至少会对label标识符进行语义检查。函数调用和goto是不同的。函数调用或返回时,一般的实现中需要根据调用约定清理堆栈。调用时先保存现场,复制实际参数,然后才是跳转,并不是直接无条件跳转那么简单。也因此goto语句无法跨函数跳转。
====
[原创回答团]

参考资料: 原创

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式