为什么C语言中的go to 语句老师说要小心使用?注意的地方是什么?

 我来答
百度网友a39fb3e
推荐于2017-10-09 · TA获得超过4466个赞
知道小有建树答主
回答量:477
采纳率:100%
帮助的人:67.4万
展开全部

goto语句称为无条件转移语句,通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。而且,goto语句一般可以用其他语句来代替。

当然,goto语句也有其优势,例如可以用goto语句一次性跳出多重循环,而不需要使用多个break语句一步一步地跳出,从而使代码更为简洁。

在C语言中使用goto语句的注意事项如下:

  1. 使用goto语句只能转移到到同一函数内,而不能从一个函数里转移到另外一个函数里。

  2. 使用goto语句在同一函数内进行转移时,转移的起点应是函数内一段小功能的结束处,goto的目的label处应是函数内另外一段小功能的开始处。

  3. 不能从一段复杂的执行状态中的位置goto到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。

  4. 应该避免向两个方向跳转。这样最容易导致“面条代码”。

所以说,goto语句要小心使用。

tb_aka
2012-03-29
知道答主
回答量:33
采纳率:0%
帮助的人:6.7万
展开全部
goto语句可跳出多层循环,但是会破坏程序执行流程和结构化程序设计,所以在一个函数内部用一般不会出现什么问题,但是在跨函数用的时候就会出现一些奇怪的现象,比如说编译的时候 出现错误或者警告 或者出现乱码,所以最好尽量少用goto语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hqm900
2012-03-29 · 超过21用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:64.3万
展开全部
使用GOTO有时候会让程序的可读性不好,对于教育者来说,尤其是改卷老师来说,这简直就是噩梦,所以学校极力不推荐使用GOTO语句,书上也只是匆匆一笔带过。但实际中,GOTO还是可以一用的,根据实际需求使用吧。
追问
能举个例子吗?go to在什么情况下能用?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
牢悌5z
2015-10-07 · 超过20用户采纳过TA的回答
知道答主
回答量:46
采纳率:100%
帮助的人:28.9万
展开全部
goto语句要避免使用,它最大缺点是使得程序可读性变差,许多教科书上都不介绍这种语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
博秦政远
推荐于2016-09-23 · TA获得超过714个赞
知道小有建树答主
回答量:219
采纳率:100%
帮助的人:172万
展开全部
亲,不是不用goto,而是通常情况下有更好的替代方法、使用过多goto会使程序变成垃圾代码,难以阅读且难以修改。但有时有用,像下面这个例子。
while(……)
{
switch(……)
{
……
goto done;
……
}
}
done:……
为了从while循环中跳出来,break不能达到要求(只跳出switch),而goto无限制。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式