【发布时间】:2012-10-20 03:43:16
【问题描述】:
我有一些使用标签的代码,下面是一个例子:
SUB occupy (x)
occupied(x) = 0
FOR i = 1 TO 40
IF armyloc(i) = x THEN
occupied(x) = i
GOTO holdup
ELSE
END IF
NEXT i
holdup:
END SUB
如您所见,它使用标签 holdup 跳出它所在的 For..Next 循环。我不知道有什么好方法可以将其更改为更好/正确的代码?例如,我通常可能会这样做:
SUB occupy (x)
occupied(x) = 0
FOR i = 1 TO 40
IF armyloc(i) = x THEN
occupied(x) = i
GOTO holdup
ELSE
NEXT i
END IF
END SUB
但这会产生一个问题——FOR..NEXT 循环现在嵌套在 IF..THEN 中的一半。有关解决此问题的方法的任何建议?
【问题讨论】:
-
退出?我不知道 Basic,但它出现在文档 msdn.microsoft.com/en-us/library/zxkf5z4b%28v=vs.71%29.aspx
-
我认为您可能是对的...但我无法找到一个示例来显示 EXIT FOR 的实际用法。例如,此链接说要这样做 - 但没有显示完成后的样子。
-
不幸的是,我现在没有一台装有 VB6 的计算机,但我相信语句主体中的任何位置的
Exit For都会导致循环退出。只需将GOTO语句替换为Exit For -
谢谢,Exit 效果很好!
标签: vb6 basic qbasic quickbasic