-4
A
回答
5
有兩個步驟:一個字符串由你看到的操作計算,然後該字符串evaled。
什麼你evaling是
5-5*5+"5 + 5"
其結果是
(5 - (5*5)) + "5 + 5"
這是
-20 + "5 + 5"
這裏有一個稍微棘手的部分:adding a number and a string is done via string concatenation所以這個結果操作是
"-20" + "5 + 5"
這給
"-205 + 5"
然後該字符串evaled,這給-200
+0
爲什麼它正在打印-205。評估如何發生? – Karthikeyan 2015-02-05 13:01:02
+0
非常感謝@dystroy! – Karthikeyan 2015-02-05 13:03:52
相關問題
- 1. C++評估順序
- 2. 評估順序調用
- 3. JavaScript中的評估順序
- 4. 減法 - 評估順序
- 5. find中的評估順序
- 6. 紅寶石評估順序
- 7. Clojure遞歸評估順序
- 8. cataM的評估順序
- 9. 表達式評估順序
- 10. C++中的評估順序
- 11. 使用Python eval評估類
- 12. PHP Eval,評估HTML和PHP
- 13. Clojure「eval」無法評估!
- 14. Eval內的Excel評估
- 15. 摺疊表達式的評估順序
- 16. 構造函數初始化列表評估順序
- 17. 賦值運算符中的C++函數評估順序
- 18. C++:cout和函數調用之間的評估順序
- 19. Swift評估函數的順序是什麼?
- 20. F#評估的順序是什麼?
- 21. 優先次序和評估順序
- 22. 評估順序對行的SQLite中
- 23. 反轉索引評估順序
- 24. 選擇「where子句」評估順序
- 25. Vue js計算屬性評估順序
- 26. Oracle SQL子句評估順序
- 27. initializer_list中的評估順序C++ 11
- 28. 按照什麼順序評估MySQL JOIN?
- 29. 執行/評估的標頭順序
- 30. 比較運算符的評估順序?
它並不複雜。只需按照聲明的每個部分逐一關注運算符優先級即可。 (並運行它沒有eval的線索) – Quentin 2015-02-05 12:58:03
你試過運行'5-5 * 5 +「5 + 5」'看看它創建了什麼字符串? – apsillers 2015-02-05 12:58:16
它創建了-205 + 5以及它如何生成-205? @apillers – Karthikeyan 2015-02-05 13:02:29