5个回答
展开全部
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 不可跳出自己在的函数块。
下面程序读入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 不可跳出自己在的函数块。
展开全部
这个语句最好不要使用,因为它不符合结构化程序的设计思想。
如果要用的,其实也很简单,先设置一个标签,然后用它就可以跳转到这个标签了
标签可以位于goto的前面,也可以位于它的后面,如:
#include <stdio.h>
int main(void)
{
goto l1;
l1:printf("%d",5);
return 0;
}
如果要用的,其实也很简单,先设置一个标签,然后用它就可以跳转到这个标签了
标签可以位于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;
}
//---------------------------------------------------------------------------
(goto只可跳转到本函数中的其它位置,不能跳出函数或者跳到其它函数中。)
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
l1:printf("%d",5);
goto l1;
return 0;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在程序的任意一句前面做一个标记
格式:
biaoji:
在需要用的地方使用goto biaoji;就行了
格式:
biaoji:
在需要用的地方使用goto biaoji;就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
现在一般都不用了
过时了
过时了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询