2014-03-13 39 views
-1

我有一個問題。我有這些代碼。沒有PEMDASM的表達評估器

int x = 20 , y = 2 , z = 5 , a = 0, b = 2 ; 
a = x*y-z/b 
cout<<"a is "<<a; 
done; 
執行此時

,我希望它象= 20 * 2來執行 - 5/2,我想的結果是17.5。 C++通常遵循PEMDASM規則。如何在不遵循PEMDAS規則的情況下執行表達式?謝謝。我希望它按照它們先出現的順序執行,*先出現,然後 - 然後/。非常感謝你

+1

使用括號。 –

+0

閱讀數學分析 –

+1

@RasmiRanjanNayak笏。只是笏。你甚至是什麼 – sehe

回答

3

你必須使用括號:

a = (x*y - z)/b; 
+0

我的意思是第一個操作符必須先執行。例如, x = y + z * b - a/c 加法必須先求解,然後乘法,減法再除法。 (這違反了pemdasm規則) –