我正在學習並瀏覽了C#中的簡單數學運算。然而,一個可能很容易的點似乎很有趣,通常我知道如果一個整數除以另一個整數,如果第一個小於第二個整數,則它是零。所以,我看了operator precedence in C#因爲也許我有關於它的錯誤信息。那麼,Console.WriteLine((1 + 1)/2 * 3);
不應該給零結果?但它給了3
。有沒有關於C#錯誤知識的觀點?C中的基本數學運算#
@編輯:問題是關於我的算術。我認爲它應該是2/2 * 3然後2/6 = 0爲什麼除法發生在乘法之前?
@編輯2:這個問題可以結束。這正是關於我對運營商優先級的錯誤認識。直到現在,我在編程中都認爲它是一個真正的數學程序。我很震驚。閱讀的優勢一而再,再而不是,即使你應該爲我所知道的主題跳過已經
你爲什麼期望它給0?你認爲哪裏有更大的整數除法?這個表達式在Java中至少會有相同的結果。 –
請解釋爲什麼你認爲如果你加1和1(產生2),然後除以2(產生1),然後乘以3,你不應該得到3. –
(1 + 1)/ 2 * 3會翻譯成2/2 * 3,然後是1 * 3,實質上是3.爲什麼最終會以0結尾? :| –