C语言goto 的使用方法

想知道C语言goto的使用方法,可以用在什么后面... 想知道C语言goto 的使用方法,可以用在什么后面 展开
 我来答
L_o_o_n_i_e
2008-04-29 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5113万
展开全部
goto 语句是最经典的计算机语句,叫“无条件转向语句”,执行到它,无条件地跳到指定的标号所在地。

下面程序读入fin_list的一行,每一行是一个文件名。
[许多语句] 用来处理一个文件,处理完了goto entrance 又回到开始,再读一个文件名。读到fin_list结束,goto No_More,跳到No_More:
退出这段程序。
entrance:
if ( fgets(one_line,200,fin_list) ==NULL) goto No_More;
....[许多语句]
....
goto entrance;
No_More: fclose(fin_list);

转向语句与标号配合使用。函数块里,标号名不可重名,(标号名如同路标)。例如,可以有多个 goto No_More 语句,但只可有 一个No_More:;

转向语句只能从程序内层转向同一层或外层,但不可转向它的内层。

例如(正确的):
for (j=0;j<n;j++){
Lab1:;
for (i=0;i<m;i++){
...
if (..) goto Lab1;
if (..) goto Lab2;
if (..) goto Lab3;
if (..) goto Lab4;
Lab2:;
...
}
...
Lab3:;
}
Lab4:;

例如(错的):
for (j=0;j<n;j++){
if () goto Lab1:;
for (i=0;i<m;i++){
...
Lab1:;
...
}};

goto 不可跳出自己在的函数块。
高金山
2008-04-29 · TA获得超过1万个赞
知道大有可为答主
回答量:4101
采纳率:0%
帮助的人:1664万
展开全部
这个语句最好不要使用,因为它不符合结构化程序的设计思想。

如果要用的,其实也很简单,先设置一个标签,然后用它就可以跳转到这个标签了

标签可以位于goto的前面,也可以位于它的后面,如:
#include <stdio.h>

int main(void)
{
goto l1;

l1:printf("%d",5);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-04-29
展开全部
用法示例程序:

(goto只可跳转到本函数中的其它位置,不能跳出函数或者跳到其它函数中。)

//---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
l1:printf("%d",5);
goto l1;
return 0;
}
//---------------------------------------------------------------------------
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大马虾
2008-04-29 · TA获得超过107个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:77.9万
展开全部
在程序的任意一句前面做一个标记
格式:
biaoji:
在需要用的地方使用goto biaoji;就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qq807215177
2008-04-29 · 超过22用户采纳过TA的回答
知道答主
回答量:131
采纳率:0%
帮助的人:0
展开全部
现在一般都不用了
过时了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式