主题:[讨论]GOSUB可以代替GOTO吗?
QB爱好者
[专家分:370] 发布于 2007-09-02 15:01:00
GOSUB可以代替GOTO吗?[em18][em18][em18][em18][em18]
回复列表 (共6个回复)
沙发
Matodied [专家分:7560] 发布于 2007-09-02 19:44:00
不可以。
如果是这样:
CLS
FOR i=1 TO 10
IF i MOD 2=0 THEN GOSUB abc
NEXT i
END
abc:
…
…
这里的GOSUB不能用GOTO代替。
板凳
小精灵1号 [专家分:1040] 发布于 2007-09-03 14:34:00
GOSUB转过去会回来,而GOTO不行
3 楼
QB爱好者 [专家分:370] 发布于 2007-09-07 22:42:00
我的意思是如果没有RETURN,用GOSUB会不会出错?
4 楼
lz27 [专家分:300] 发布于 2007-09-08 18:34:00
暂时不会出错,但是用得多了, 就会出错了。因为gosub比goto多的就是把当前行号压进堆栈,这样gosub多了就会造成数据溢出
5 楼
huqing [专家分:30] 发布于 2007-09-14 17:00:00
不行!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6 楼
老大徒伤悲 [专家分:29120] 发布于 2007-09-14 20:40:00
goto本身不带执行完指定程序段回到调用出,所谓一去不返。
gosub则相反。
我来回复