2
查看標題。 1==(int)0.5*2
的計算結果爲false,但1==((int)0.5*2)
的計算結果爲true。但是(1==(int)0.5)*2
會給出一個錯誤,所以第一個表達式不會像這樣被解析。不知何故,1==((int)0.5*2)
的額外括號正在改變演員和乘員的優先順序。1 ==(int)0.5 * 2 => false,1 ==((int)0.5 * 2)=> true,爲什麼?
這到底是什麼原因造成的?這是應該發生還是它是一個解析錯誤?
我明白表達式是如何評估的,我的問題是爲什麼'1 ==((int)0.5 * 2)'中的額外括號會在評估中產生差異。 – JanKanis 2014-12-04 11:18:27