-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. Python代碼評估順序?
- 4. C++評估順序
- 5. 評估順序調用
- 6. JavaScript中的評估順序
- 7. 減法 - 評估順序
- 8. 評估順序>>和[++]
- 9. 表達式評估順序
- 10. 紅寶石評估順序
- 11. Clojure遞歸評估順序
- 12. cataM的評估順序
- 13. C++中的評估順序
- 14. find中的評估順序
- 15. 評估示例的順序
- 16. Python中的評估順序
- 17. 評估函數
- 18. Eval內的Excel評估
- 19. PHP Eval,評估HTML和PHP
- 20. 使用Python eval評估類
- 21. Clojure「eval」無法評估!
- 22. Rails,評估數字是否順序
- 23. GCC中函數調用的參數評估順序
- 24. 函數內參數的評估順序是什麼?
- 25. 依靠Python函數參數評估順序安全嗎?
- 26. C++/CLI中函數參數的評估順序是什麼
- 27. 摺疊表達式的評估順序
- 28. Swift評估函數的順序是什麼?
- 29. 構造函數初始化列表評估順序
- 30. 如何指定node.js函數的評估順序?
它並不複雜。只需按照聲明的每個部分逐一關注運算符優先級即可。 (並運行它沒有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