Visual Basic 6.0 における演算子の優先順位は何ですか?

StackOverflow https://stackoverflow.com/questions/55206

  •  09-06-2019
  •  | 
  •  

質問

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