vb6 - 重写没有标签的基本代码

标签 vb6 basic qbasic quickbasic

我有一些使用标签的代码,其示例如下:

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 中,用于一半。关于解决此问题的方法有什么建议吗?

最佳答案

正如 Mark Hall 在上面的评论中指出的那样,在这些情况下使用 Exit For 效果很好。删除 GOTO 并替换为 Exit For 语句。

关于vb6 - 重写没有标签的基本代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12985071/

相关文章:

vb6 - 如何在vb6 Datagrid中获取选定的行

C 语言 : BASIC has ? myVar 显示名称和值。在 C 语言中可用吗?

qbasic - 老程序员的两个问题

QBasic:如何从另一个程序中运行一个程序?

c - PeekInt、PokeInt、Peek、Poke 等效于 BASIC 中的 C

vb6 - 如何实现全局 VB6 错误处理程序?

sql-server - 访问不同 Active Directory 服务器中的数据库

vb6 - 如何在 VB6 中的按钮正下方放置弹出菜单

exit - 如何退出 Microsoft GW-BASIC、IBM BASICA 或其他类似的 BASIC 旧方言?

if-statement - 为什么我们使用 "End If"语句?