Visual Basic 6.0(VB6)中的运算符优先顺序是什么?
特别是对于逻辑运算符。
答案 0 :(得分:16)
^
-
(一元否定)*
,/
\
Mod
+
,-
(二进制加法/减法)&
=
<>
<
>
<=
>=
Like
,Is
Not
And
Or
Xor
Eqv
Imp
来源: Sams Teach Yourself Visual Basic 6 in 24 Hours — Appendix A: Operator Precedence
答案 1 :(得分:10)
这取决于您是否在调试器中。 真的。好吧,等等。
当然,括号是第一位的。然后是arithmateic(+, - ,*,/等)。然后比较(&gt;,&lt;,=等)。然后是逻辑运算符。诀窍是没有定义给定优先级内的执行顺序。给出以下表达式:
If A < B And B < C Then
保证在逻辑<
比较之前评估And
不等式运算符。但是你不能保证首先执行哪个不等式比较。
IIRC,调试器从左到右执行,但编译后的应用程序从右到左执行。我可以让它们向后(这已经很长时间了),但重要的是它们是不同的。实际优先级不会改变,但执行顺序可能会改变。
答案 2 :(得分:3)
逻辑运算符按以下优先顺序进行评估:
Not And Or Xor Eqv Imp
该主题还解释了比较和算术运算符的优先级。
我建议你一旦弄清楚优先权,就会加上括号,除非有充分的理由不编辑代码。