vb的计算问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 11:32:57
Private Sub Form_Load()
Show
a = 1: b = 2: x = 0: i = 0
If a <> b Then
If a > b Then x = 1
Else
x = 2
End If
Print x
End Sub

这里输出的结果不应该是2吗,为什么vb中显示是0?

当然是0,我给你缩进下看看

a = 1: b = 2: x = 0: i = 0
If a <> b Then
If a > b Then x = 1
Else
x = 2
End If
Print x

在a<>b分支中,只有a>b一项,没有a<b。 没有语句对x赋值,所以就是0了。

是这样的缩进
Private Sub Form_Load()
Show
a = 1: b = 2: x = 0: i = 0
If a <> b Then
If a > b Then x = 1
Else
x = 2
End If
Print x
End Sub
其中x = 2是上面If a <> b Then不成立时else里的内容,而a <> b成立,所以else里的x = 2不执行。

这个Else自动匹配了第一个Then