1

我有一个旧代码进行数学计算。据报道,它是用 QBasic 编写的,并且可以在 VB6 下成功运行。我计划将代码编写成更新的语言/平台。为此,我必须首先向后工作,并从现有代码中提出详细的算法。

问题是我无法理解几行的语法:

Dim a(1 to 200) as Double
Dim b as Double
Dim f(1 to 200) as Double
Dim g(1 to 200) as Double

For i = 1 to N
 a(i) = b: a(i+N) = c
 f(i) = 1#: g(i) = 0#
 f(i+N) = 0#: g(i+N) = 1#
Next i

根据我在 9 年前使用 VB5 的工作,我猜测 a、f 和 g 是索引从 1 到 200 的 Double 数组。但是,我完全迷失了 # 和 : 在 for 的主体内的这种用法-环形。

4

2 回答 2

4

:是行继续符,它允许您在同一行上链接多个语句。a(i) = b: a(i+N) = c相当于:

a(i)=b
a(i+N)=c

#是一个类型说明符。它指定它后面的数字应被视为双精度数。

于 2011-05-31T18:55:48.523 回答
2

我已经有一段时间没有在 QBasic 中编程了,但我在高中时做过很多事情。# 符号表示特定的数据类型。就是将 RHS 的值指定为双精度浮点数(类似于 C 中说 1.0f 使 1.0 成为单精度浮点数)。冒号符号也类似于 C 中的分号,用于分隔不同的命令。例如:

a(i) = b: a(i+N) = c

是,在 C 中:

a[i] = b; a[i+N] = c;
于 2011-05-31T18:56:52.547 回答