goto的用法

下面这个程序我想用goto跳出下面for循环,但编译时报错:errorC2065:'end':undeclaredidentifier,该怎么改啊?#include<st... 下面这个程序我想用goto跳出下面for循环,但编译时报错:error C2065: 'end' : undeclared identifier,该怎么改啊?

#include <stdio.h>
void main()
{
int i=0;
if(i==0) goto end;
for(i=0; i<10; i++)
printf("%d ", i);
end;
printf("\nthe end");
}
展开
 我来答
wusoule
2010-10-31 · TA获得超过175个赞
知道答主
回答量:61
采纳率:100%
帮助的人:29万
展开全部
臭名昭著的goto出场了。

goto的汉义为“转到”,在计算机语言里,它的完整名称为:“无条件跳转语句”。几乎所有高级语言都会劝你尽量不要使用它goto。因为它会破坏程序的模块性,严重降低一段程序的可读性。若是老外写的书,则比喻使用大量goto的代码:“像意大利面条”。嗯,其实北京的杂酱面也很缠绕……可惜没有走向世界。

goto的用法是,首先要在代码中某处加上一个位标(也称标号),然后在代码中的需处,加上goto,并写让要跳转到位标。比如你在第三行代码加一个位标:A : ,然后可以在第10行写上一个goto A,程序执行到该行时,就将跳到第三行。

加位标的方法是在一空行加上位标的名称,命名规则和变量一样,但最后要加上一冒号“:”。

例如:

int i = 1;

A :

cout << i << endl;

i++;

if(i <= 10)

goto A;

... ...

goto 虽然号称“无条件跳转”,事实上倒是有些条件限制。主要是三条。

1、goto只能在当前的同一程序段内跳转;

2、goto 可以从循环内跳转到循环外的代码,但不能从循环外的代码跳到循环内;

3、在有goto的跳转范围内,不能再使用C++允许的临时变量声明。

好了,其实笔者写程序近10年,惟一用到goto的地方就是:将一段简单的程序故意用goto写得面目全非,以期能让破解程序的人因为眼晕而放弃功击……一句老话:如果没有什么特殊理由,不要在程序里使用goto。

可能你会觉得没有给出答案,但是看了以上的东西之后,我相信你会找到出错的地方,也许你已经找着了。呵呵
慕容暖沁
2018-04-04 · TA获得超过1.4万个赞
知道小有建树答主
回答量:200
采纳率:100%
帮助的人:3.8万
展开全部

goto语句是无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号。语句标号起标识语句的作用,与goto 语句配合使用。

C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。

goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangjie3535
推荐于2017-09-22 · TA获得超过1688个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:402万
展开全部
#include <stdio.h>
void main()
{
int i=0;
if(i==0) goto end;
for(i=0; i<10; i++)
printf("%d ", i);
end: printf("the end\n");
}
goto后面接标志,标志后面要接语句
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孙道勇
2010-10-30 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:113万
展开全部
不建议使用GOTO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
修者世界
推荐于2017-10-15 · TA获得超过5849个赞
知道大有可为答主
回答量:5984
采纳率:61%
帮助的人:783万
展开全部
goto语句是无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号。语句标号起标识语句的作用,与goto 语句配合使用。
C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
例如:
while(1)
{
i++;
if(i>100)goto out
}
out:
i=0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式