私はIvanBratkoの本「人工知能のためのプログラミング」について勉強しています。
今、私は演算子を研究しています、そして私はそれについていくつかの疑問を持っています、本で私は次のことを読むことができます:
したがって、演算子の優先順位によって、式の正しい解釈が決まります。たとえば、式a + b * cは、原則として、次のいずれかとして理解できます。
1.1。 +(a, *(b,c))
またはとして:
2.2。 *(+(a,b), c)
そして今、私は最初の疑問を抱いています:「これはどういう意味ですか?これらの2つの表現は異なる3つの異なる結果をもたらすので、私は非常に苦労しているようです!!!
たとえば、私が持っている場合:a=2
、、b=3
c=4
最初の結果は14で、2番目の結果は20であるため、違いがあります。しきい値が異なると、演算子の実行順序が異なり、結果が異なります。
したがって、(算術演算子の通常の優先順位を使用して:最初に乗算を実行し、合計の後に)正しい式は最初の式であり、2番目の式は間違っていると思います。
それが正しいか?
私も読むことができる本を読み続ける:
原則として、優先順位が最も高い演算子が用語の主要な関手です。+と*を含む式を通常の規則に従って理解する場合は、+の優先順位が*演算子よりも高くなります。
そして今、私は2番目の疑問を持っています:私が言ったように、算術の通常の慣習では、最初に乗算を実行し、合計の後に実行します。したがって、私の意見では、+ではなく優先順位を持つ*演算子です
私はそれについて何が欠けていますか?なぜ本の中でそれ+
がより高い優先順位を持っていると言うの*
ですか?