设a=10,b=5,c=1,执行语句 print a>b>c后,窗体上为什么显示为False呢?电脑的判断依据到底是什么??

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:18:16
谢谢大家的答案。
我已经懂了
不过又有个不懂,就是为什么true的值是-1而不是1 呢???

a=10,b=5,c=1

print a>b>c

左结合 先计算a>b (10>5为真)结果为True (系统自动转换)其值为-1

然后 计算-1>c (-1>1为假) 结果为False 输出False

其实 想知道 True和False 自动转换成数字的值很简单
print Cint(True)
print Cint(False)
这样你看得很明了了

应为 (a>b)=true=1 所以 1>c是错的!明白了把?
a>b>c =(a>b)>b=(true)>c=1>c=false=0
你应该写: print(a>b and b>c)

上面那位说的基本正确但是有一点问题,在VB中true的值是-1而不是1.

true 默认好像是 -1

MSDN摘录:

当转换其他的数值类型为 Boolean 值时,0 会转成 False,而其他的值则变成 True。当转换 Boolean 值为其他的数据类型时,False 成为 0,而 True 成为 -1。

应该是:print a &">"& b &">"& c