譬如这样: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任意的跳转,根本就无法阅读和修改。问题多多。那是很麻烦的。
幕布斯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
- 3 回答
- 0 关注
- 238 浏览
添加回答
举报
0/150
提交
取消