VB三行代码,结果是什么?为什么?

来源:百度知道 编辑:UC知道 时间:2024/09/28 08:48:47
Private Sub Command1_Click()
Dim a%, b%, c%
b = 6: c = 6.5
a = b = c
Print a
End Sub

一点要解释清楚!
a 的值不是6 !

VB中不支持形如a=b=c这样的赋值方式
而a = b = c
这句的意思是先对比b=c.
因为b和c已定义为整形,所以都为6
然后将对比结果(True为-1,Flase为0)返回赋值给a

所以最后a的值为-1

要更改的话将a=b=c这行语句拆开

b=c
a=b

刚才我试了下
将程序改为
Private Sub Command1_Click()
Dim a as integer, b as integer, c as integer
dim w as boolean

b = 6
c = 6.5 '这时c=6
w = b = c 'w=True
a = w
Print a
End Sub

结果是一样的

Dim a%, b%, c% 定义a,b,c为整型变量。所以后面的c = 6.5
实际处理后c的值为6.最后的赋值a = b = c
是从右往左进行的,所以最后的a值是6.