为了账号安全,请及时绑定邮箱和手机立即绑定

求助大佬,请问在C++中 goto 和 return 是怎么用的?能如下表达吗?

求助大佬,请问在C++中 goto 和 return 是怎么用的?能如下表达吗?

C++
潇湘沐 2021-09-16 11:11:56
譬如这样:Start:xxxxxx;L1:xxxxx;if(i==1)goto Start;xxxxx;if(a!=0)goto L2;xxxxx;L2:xxxxx;如何用C++来表达呢?就2楼的答复,"等代码量大了,问题可就多了"那么大了之后,不用goto来转到;则用到什么语句呢?请高手解答一下~
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

goto语句是无条件的跳转 也就是同汇编中的 jmp语句。
语法为:"goto 自定义的标签" 如 goto L2;
return 是一个函数的完成,返回上一层调用处。 同汇编中的 ret

你写的例子代码 是可以被c++编译器正常编译的,但是一般写程序中
非到万不得已不是使用goto语句。因为goto语句打乱了程序的流程
是代码不好读懂,而且不容易调试。切记少用。 你现在的代码量少
看不出来,等代码量大了,问题可就多了,非常麻烦!

我的意思是说,尽量的不要用goto语句,就是说如果你写的代码很多很多的时候,如果里面使用了大量的goto语句,在你再次阅读你的代码,修改你的代码时,那将是非常痛苦的,因为流程被goto任意的跳转,根本就无法阅读和修改。问题多多。那是很麻烦的。



查看完整回答
反对 回复 2021-09-23
?
米脂

TA贡献1836条经验 获得超3个赞

goto是无条件转移语句
return是用来函数中,作返回语句
两者不是一个概念

查看完整回答
反对 回复 2021-09-23
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

int x;
x= function();

int function(){
int x;
to: xxxxxxxx;
xxxxxxxx;
goto to;
xxxxxxxx;
cxxxxxxxxx;
return x;
}

函数中,调用goto,则回到goto语句中的标记处,而后边的return则是返回一个数值给调用这个函数的变量x



查看完整回答
反对 回复 2021-09-23
  • 3 回答
  • 0 关注
  • 238 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信