这个VB程序为什么等于-1而不是0?

来源:百度知道 编辑:UC知道 时间:2024/06/02 05:43:40
程序为:
private sub form_click()
dim a as integer,b as integer,c as integer
b=6:c=6.5
a=b=c
print a
end sub

True 关键字的值等于 -1。
False 关键字的值等于 0。
Private Sub form_click()
Dim a as integer, b as integer, c as integer
b = 6
c = 6.5
a = b = c
Print a
End Sub
结果为-1,
Private Sub form_click()
Dim a as integer, b as integer, c as integer
b = 7
c = 7.5
a = b = c
Print a
End Sub
结果为0,
因为integer在0.5取值判断的时候要上双数靠拢,
6.5化为6
7.5化为8

private sub form_click()
dim a as integer,b as integer,c as integer
b=6:c=6.5 '初始化变量值
a=b=c
'这里实际上是一个逻辑运算。
'等号“=”在VB里面其实有两个用法,一个是赋值语句,
'另一个是逻辑运算。
'在这句代码中,第一个等号用来对变量a进行赋值,
'后一个等号则是用来进行逻辑运算。
'如果b=c,则返回TRUE,反之则被赋值为FALSE。
'因为b和c的类型是integer,所以小数点后面的数值是被忽略掉的
'如果你把它改成single类型
'Dim b as Single,DIm c as single
'则a将会返回0(FALSE)

print a
end sub

因为C为整数,C=6.5执行时,被自动转换成整数(通常是去掉小数位),这样C就成了6。a=b=c时,b与c相等,a自然为“true”在VB中,true用-1表示。
可以验证
Dim a as intege