Visual Basic 6.0中的运算符优先顺序是什么?
时间:2020-03-05 18:51:03 来源:igfitidea点击:
Visual Basic 6.0(VB6)中的运算符优先顺序是什么?
特别是对于逻辑运算符。
解决方案
回答
算术运算优先级顺序
^
-
(一元否定)*
,/
\
Mod
+
,-
(二进制加/减)&
比较运算优先顺序
=
<>
<
>
<=
> =
- 就像是
逻辑运算优先顺序
- 不
- 和
- 或者
- Xor
- 等式
- " Imp"
来源:Sams在24小时内自学Visual Basic 6附录A:操作员优先级
回答
这取决于我们是否在调试器中。真的。好吧,有点。
当然,括号是第一位的。然后算术(+,-,*,/等)。然后进行比较(>,<,=等)。然后是逻辑运算符。诀窍是未定义给定优先级内的执行顺序。给出以下表达式:
If A < B And B < C Then
我们可以确保在逻辑上"与"比较之前对不等式运算符" <"进行评估。但是我们不能保证首先执行哪个不等式比较。
IIRC,调试器从左到右执行,但是编译后的应用程序从右到左执行。我可以让它们倒退(已经很长时间了),但是重要的是它们是不同的。实际优先级不会改变,但执行顺序可能会改变。
回答
编辑:这是我对新代码的建议!但是奥斯卡正在阅读别人的代码,因此必须以某种方式弄清楚。我建议使用VB6手册主题"运算符优先级"。不幸的是,该主题似乎不在MSDN在线VB6手册中,因此我将在此处粘贴逻辑运算符信息。如果安装了VB6帮助(MSDN库),则将其安装在计算机上。
逻辑运算符按以下优先级顺序求值:
Not And Or Xor Eqv Imp
本主题还说明了比较运算符和算术运算符的优先级。
我建议一旦我们弄清了优先级,就将括号括起来,除非有充分的理由不编辑代码。