设a=10,b=5,c=1,执行语句 print a>b>c后,窗体上为什么显示为False呢?电脑的判断依据到底是什么??
来源:百度知道 编辑:UC知道 时间:2024/09/22 23:33:54
谢谢大家的答案。
我已经懂了
不过又有个不懂,就是为什么true的值是-1而不是1 呢???
我已经懂了
不过又有个不懂,就是为什么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
设a = 5,b = 10,则执行 c = Int((b - a) * Rnd + a) + 1,结果为多少
设a=3,b=4,c=5试计算以下表达式:(1)a=b>c&&b==c (2)a||b+c&&b-c (3)(!(a+b)+c-1)&&(b+c)/2
设A={1,2,3,4,5},B={a,b,c},从A到B的映射,
设向量a,b,c满足a+b+c=0,(a-b)⊥c,a⊥b,若|a|=1,则|a| +|c| 的值
设a、b、c、d是正整数,并且a^5=b^1,c^3=d^2,c-a=19,求a-b
设正整数a,b,c,d,a/b+b/c+c/d=5/8 则a+b+c+d的最小值是多少
设a+b+c=1,a*+b*+c*=1,且a>b>c,求证-1/3<c<0
设A>B>C,A^2+B^2=4AB,求A+B/A-B
设a+b+2c=1,a^2+b^2-8c^2+6c=5,求ab-bc-ac的值
设向量OA=a,OB=b,OC=c,且a+b+c=0,a·b=b·c=·a=-1则│a│+│b│+│c│=