我正在用C++評估postfix
表達式。一切工作正常,但我沒有妥善管理=
平等運營商。Postfix表達式中的相等運算符
導致中綴表達式的問題如下所示:A = 2 + B = 5
其中A和B是變量。 我的程序將其轉換爲後綴爲:2 5 = B + = A
。
在我的程序我寫了if current element is an equal operator followed by a variable then move the result in that variable.
這是不是這樣做,因爲解決上述的表達後,我的計劃給B = 5
和A = 7
這似乎從表達錯誤的正確方法。
我應該遵循哪種技術來處理我的代碼的平等運算符?
我假設通過「相等運算符」,您實際上是指「*賦值運算符」?然後,結果看起來與您的表達一致:您將'5'分配給'B',然後您將'B'加上'2'並將結果('7')分配給'A'。 –
我同意約阿希姆。賦值運算符在它首先讀取表達式然後是受讓人(這是正確的)的意義上是相反的。也許這是什麼造成一些混亂,因爲我們習慣於直接分配x = 3 + 4. –
你期望看到什麼結果? – kraskevich