答えて
論理演算の優先順序
Not
And
Or
Xor
Eqv
Imp
比較操作優先順序
=
<>
<
>
<=
>=
Like
、Is
算術演算の優先順序
^
-
(単項否定)*
、/
\
Mod
+
、-
(2進加算/減算)&
出典:Sams Teach Yourself Visual Basic 6 in 24 Hours — Appendix A: Operator Precedence
それはあなたがデバッガにいるかどうかによって異なります。 本当に。まあ、一種です。
括弧が最初に来ます。次に、比較(>、<、=など)。その後、論理演算子。そのトリックは、の実行の順番が定義されていないということです。あなたは<演算子は、両方の論理との比較の前に実行されることが保証されている
If A < B And B < C Then
:それは次の式を与えられたことを意味します。しかし、どの比較が最初に実行されるかは保証されていません。
IIRCでは、デバッガは左から右に実行されますが、コンパイルされたアプリケーションは右から左に実行されます。私はそれらを後方に持ち込むことができました(それは長い時間でした)が、重要なのはそれらが異なっているということです。したがって、実際の優先順位は変更されませんが、実行順序が変更される可能性があります。
使用括弧
EDIT:それは新しいコードのために私からのアドバイスです!しかし、オスカーは他人のコードを読んでいるので、何とかそれを理解しなければならない。 VB6のマニュアルトピックオペレータの優先順位をお勧めします。残念ながら、このトピックはMSDN online VB6 manualには含まれていないようですので、ここで論理演算子情報を貼り付けます。 VB6ヘルプ(MSDNライブラリ)をインストールした場合は、あなたのマシンにそれを持っています。
論理演算子は以下の優先順位で評価されます。
Not And Or Xor Eqv Imp
話題も比較や算術演算子の優先順位を説明します。
コードを編集しないとよい理由がない限り、括弧を入れておけば、優先順位がわかるようになると思います。
- 1. Javaの* =演算子の演算子の優先順位は何ですか?
- 2. Pythonで "="の演算子の優先順位は何ですか?
- 3. ブール演算子の優先順位
- 4. 演算子の優先順位c#
- 5. JavaScript演算子の優先順位
- 6. シフト演算子でルビ演算子の優先順位問題
- 7. 演算子優先順位と関連
- 8. C言語での演算子の優先順位
- 9. Javaでの3進演算子の優先順位と代入
- 10. Cでの演算子の優先順位
- 11. どの論理演算子が優先順位を取るか
- 12. Pythonの演算子の優先順位を変更する
- 13. Scala Parserのアドホック演算子の優先順位を表す
- 14. 演算子優先順位(boolより前のvoid *)
- 15. Javaの演算子の優先順位式の評価
- 16. JavaScriptの演算子の優先順位の技術
- 17. JavaのREGEX演算子の優先順位
- 18. PHP演算子の優先順位のバグ?
- 19. Perl5の=(等しい)演算子の優先順位
- 20. Zend Frameworkの選択演算子の優先順位
- 21. Rubyの演算子の優先順位表
- 22. 複数のブール条件 - 演算子の優先順位
- 23. yacc - 演算子のないルールの優先順位?
- 24. 違い:演算子の優先順位と短絡が
- 25. 演算子の優先順位と結合性
- 26. ハスケルの優先順位:ラムダと演算子
- 27. オーバーロードされたキャスト演算子の優先順位
- 28. ラムダ微積分演算子の優先順位
- 29. 出力ストリームにおけるC++演算子の優先順位
- 30. Postgresのカスタム演算子の優先順位は組み込みですか?
注文とは何ですか?最低から最高まで? –
答えの提示は少し誤解を招く可能性があります。 3つのカテゴリ内の順序は最初から最後ですが、カテゴリ自体の順序は最後から1番目です。実際には、算術演算は論理演算の前に評価される比較演算の前に評価されます。より明確なプレゼンテーションのために、まず算術演算を行い、次に比較演算を行い、それに続いて論理演算を行うことで答えを提示することを提案します。ここでも参考になります:https://msdn.microsoft.com/en-us/vba/language-reference-vba/articles/operator-precedence –