gpt4 book ai didi

vba - 为什么在这种情况下 1 =1 不正确?

转载 作者:行者123 更新时间:2023-12-04 15:47:00 27 4
gpt4 key购买 nike

就我而言,这没有任何值(value)。我在研究一个问题时发现了这一点。

在 VBA 中:

给定以下内容:Dim a As Boolean, b As Boolean, c As Boolean

代码a = b = c = 1 = 1将 a 分配给 False。

但是 a = b = c = true 将 a 赋值给 true。

谁能解释一下为什么会这样?显然 1 = 1 的计算结果为真。

作为旁注,a = 1 = 1 也会将 a 赋值给 true。此外,使用变体而不是 bool 值的行为是相同的。

同样,我知道这没有实际用途,我只是很好奇是否有人可以解释这种行为。

最佳答案

表达式是从左到右求值的,因为所有运算符的优先级都相同。

a = b = c = 1 = 1

b = c 返回 True。

True = 1 返回 False,因为 True 在比较之前转换为 -1。

False = 1 返回 False

a = b = c = true 

b = c 返回真

True = true 返回 True。

关于vba - 为什么在这种情况下 1 =1 不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11572943/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com