我正在将GW-BASIC代码转换为C#,在BASIC语言方面的经验非常有限。我正在尝试理解IF...THEN...GOTO语句的行为。例如,我有以下语句:
85 IF M(3,1)>M(2,1) THEN 95
90 M(3,1)=M(3,1)+P2
95 Z1=R1*(90.567-41.685/M(2,3))我的问题是:如果第85行的条件不满足,它是仍然执行第95行的代码,还是跳过它?
任何方向都会非常感谢...
发布于 2011-12-20 10:33:07
是的,不管第85行的布尔条件的计算结果如何,第95行都将被执行,但如果85的计算结果为真,那么第90行将被跳过,因此不会被执行。
发布于 2011-12-20 10:32:10
它将执行第95行的代码。then语句使程序跳到第95行并执行该行。
它等同于:
if ( M[3,1] <= M[2,1] ) {
M[3,1] = M[3,1] + P2
}
Z1=R1*(90.567-41.685/M[2,3])发布于 2011-12-20 10:30:41
显然,代码片段有一个伪的IF/ELSE结构,逻辑看起来是这样的:
如果第85行的条件不满足,则QBasic从90继续,然后是95。如果满足第85行的条件,则QBasic继续95并继续向前。
https://stackoverflow.com/questions/8570079
复制相似问题