16

Visual Basic 6.0(VB6)での演算子の優先順位は何ですか?

特に、論理演算子の場合。

4

3 に答える 3

17

算術演算の優先順位

  1. ^
  2. -(単項否定)
  3. */
  4. \
  5. Mod
  6. +-(2進加算/減算)
  7. &

比較演算の優先順位

  1. =
  2. <>
  3. <
  4. >
  5. <=
  6. >=
  7. LikeIs

論理演算の優先順位

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

出典: Sams Teach Yourself Visual Basic 6 in 24 Hours —付録A:オペレーターの優先順位

于 2008-09-10T20:16:37.463 に答える
10

デバッガーを使用しているかどうかによって異なります。本当。 そうですね。

もちろん、括弧が最初に来ます。次に、算術 (+、-、​​、/ など)。次に比較 (>、<、= など)。次に論理演算子。秘訣は、特定の優先レベル内での実行順序が定義されていないことです。次の式を考えます。

If A < B And B < C Then

論理比較<の前に両方の不等式演算子が評価されることが保証されます。Andただし、どの不等式比較が最初に実行されるかは保証されません。

IIRC では、デバッガーは左から右に実行されますが、コンパイルされたアプリケーションは右から左に実行されます。 私はそれらを逆にすることもできます (それは長い間です) が、重要なことはそれらが異なるということです. 実際の優先順位は変わりませんが、実行順序は変わる可能性があります。

于 2008-09-10T20:36:35.060 に答える
3

括弧を使用する


編集: 新しいコードに対する私のアドバイスです! しかし、オスカーは他人のコードを読んでいるので、どうにかしてそれを理解しなければなりません. VBA マニュアルのトピックOperator Precedenceをお勧めします。VBA は VB6 と 99% 同等であり、式の評価は 100% 同等です。ここに論理演算子の情報を貼り付けました。

論理演算子は、次の優先順位で評価されます。

いいえ   
と   
または   
ソー   
Eqv   
インプ   

このトピックでは、比較演算子と算術演算子の優先順位についても説明します。

優先順位を把握したら、コードを編集しない正当な理由がない限り、括弧を入れることをお勧めします。

于 2009-03-05T15:58:48.787 に答える