Visual Basic 6.0 (VB6) 中的运算符优先顺序是什么?

特别是对于逻辑运算符。

有帮助吗?

解决方案

算术运算优先顺序

  1. ^
  2. - (一元否定)
  3. *, /
  4. \
  5. Mod
  6. +, - (二进制加法/减法)
  7. &

比较运算优先顺序

  1. =
  2. <>
  3. <
  4. >
  5. <=
  6. >=
  7. Like, Is

逻辑运算优先顺序

  1. Not
  2. And
  3. Or
  4. Xor
  5. Eqv
  6. Imp

来源: Sams 在 24 小时内自学 Visual Basic 6 — 附录 A:运算符优先级

其他提示

这取决于您是否在调试器中。 真的。 嗯,有点像。

当然,括号在前。然后算术(+、-、*、/等)。然后比较(>、<、= 等)。然后是逻辑运算符。诀窍是给定优先级内的执行顺序没有定义。给出以下表达式:

If A < B And B < C Then

您可以保证 < 不等式运算符都将在逻辑运算之前被评估 And 比较。但不能保证首先执行哪个不等式比较。

IIRC,调试器从左到右执行,但编译后的应用程序从右到左执行。 我可以把它们倒过来(已经很长时间了),但重要的是它们是不同的。实际优先级不会改变,但执行顺序可能会改变。

使用括号


编辑:这是我对新代码的建议!但奥斯卡正在阅读别人的代码,所以必须以某种方式弄清楚。我建议VB6手册主题 运算符优先级. 。不幸的是这个主题似乎不在 MSDN在线VB6手册, ,所以我将在这里粘贴逻辑运算符信息。如果您安装了 VB6 帮助(MSDN 库),您的计算机上就会有它。

逻辑运算符按以下优先顺序求值:

Not   
And   
Or   
Xor   
Eqv   
Imp   

本主题还解释了比较和算术运算符的优先级。

我建议您一旦弄清楚优先级,就将其放入括号中,除非有充分的理由不编辑代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top