的C代碼(其中a
和b
是類型double
兩者)下面的代碼片段是我的問題是什麼:檢查在C這樣的操作順序「如果」語句
if(1.0-a < b && b <= 1.0)
基於所示的操作順序在Wikipedia我明白這是評估一樣用括號下面的代碼片段:
if(((1.0-a) < b) && (b <= 1.0))
這就是我想要的。我只是想重新檢查一下我的理解,即兩個代碼片段的確按照C中的操作順序確實相同。
注意:顯然,我可以使用第二個代碼片段並明確要求if()
進行評估;我問,因爲我已經在代碼中使用了第一個片段了一段時間,並且我想確保代碼中的先前結果是可以的。
您是否在詢問操作順序(即操作的執行順序)或*關聯*(即哪些操作數與哪個操作員關聯)?括號影響後者,而不是前者。 –
我在問,這兩個代碼片段是否總是會產生相同的結果,無論是關聯或操作順序的問題,我都不確定。 – Joshua