主题:在QB中用GOTO语句问题
bcboy
[专家分:0] 发布于 2005-07-24 08:33:00
小弟是菜鸟一个,据说在QB中尽量不要用GOTO语句,但在有些情况下不得不要用,很难用IF THEN ELSE来代替,请问用了一些GOTO语句会导致什么问题呢?程序会不稳定吗?
回复列表 (共15个回复)
沙发
163111511 [专家分:90] 发布于 2005-07-24 08:58:00
GOTO是无条件转移,不符合现在所说的结构化程序设计.
板凳
def [专家分:3380] 发布于 2005-07-24 09:51:00
GOTO:转移到:XXX: ...
GOSUB:转到并返回:XXX: ...: RETURN
尽量用GOSUB/ON ... GOSUB
而不用GOTO/ON ... GOTO
在GWBASIC里都用 ON ... {GOTO|GOSUB} 但现在不用了
3 楼
moz [专家分:37620] 发布于 2005-07-24 14:09:00
QB里面还有的,假如你一定要用的话
4 楼
davidw017 [专家分:4170] 发布于 2005-07-24 17:43:00
goto 一般都没什么作用,可以用其他的规范化结构代替,也只有 NOIP 的出题人才会弄一大堆 goto 吃饱了撑的
5 楼
zqnhlm [专家分:780] 发布于 2005-07-24 20:55:00
用了GOTO感觉很乱
6 楼
def [专家分:3380] 发布于 2005-07-24 21:29:00
用GOTO跳循环外没有其他用处
7 楼
def [专家分:3380] 发布于 2005-07-24 21:29:00
只有我才喜欢用GOTO
8 楼
咖啡猪 [专家分:290] 发布于 2005-07-24 23:01:00
GOTO在处理一些简单的问题时,可以减少文件大小,这也许是唯一的好处吧
9 楼
moz [专家分:37620] 发布于 2005-07-24 23:44:00
我觉得都不是.
goto 有它一定的价值
我们现在做的结构化程序只是说建议不要使用它
因为它破坏了结构化
有了goto语句对于程序的维护和修改都会出现很大的障碍
当程序越来越大的很多时候你不一定能搞清楚你的路是往哪边走的
goto 的利害之处在于:
它----就是二十二世纪杀人网络里面尼奥穿梭时空的钥匙
对于一些你暂时无法解决的问题, goto 也是没办法的选择.
我也曾试有那种情形:
一句goto能代替一大堆的判断跳转语句体.
10 楼
zys [专家分:0] 发布于 2005-07-25 10:09:00
小弟也有同样问题,下面的这段源码看能否帮小弟修改一下,尽量不用GOTO看能否做到。(注:ZSHY:后面有很多语句的)
IF YN$ < "2" GOTO GQL
IF XN$ > "6" THEN GOTO ZSHY
IF XN$ = "6" THEN GOTO YF
GOTO GQL
YF:
IF XY$ > "3" THEN GOTO ZSHY
IF XY$ = "3" THEN GOTO RQ
GOTO GQL
RQ:
IF XR$ > "2" THEN GOTO ZSHY
GQL:
PRINT "ERR"
ZSHY:
SEHLL "xxx"
......
我来回复