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

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

我建议一旦我们弄清了优先级,就将括号括起来,除非有充分的理由不编辑代码。