Q
賦值和比較
4
A
回答
10
§6.8.4說,對一個if
選擇語句的語法是:
if (expression) statement
此外,在本節中,它提到,如果表達式相比較不等於0,則statement
被執行。因此,必須對錶達式進行評估,然後才能將其與0進行比較。i = 0
是一個評估爲0的表達式。有關進一步參考,請參見§6.5「關於§6.5.16「的表達式」指定運算符」,特別注意此摘錄:
賦值運算符將值存儲在由左操作數指定的對象中。賦值表達式在賦值後具有左操作數的值,但不是左值。
1
分配發生,它返回一個0,這是錯誤的。
5
0
的if語句被首先計算,其結果是表達0
此程序將永遠不會打印「在這裏\ n得到了」。
3
2
語句i = 0
將被評估並返回0
,因此語句不會被打印。
0
正如其他人已經說過的,賦值返回賦值的值,所以從不打印語句。如果您想要打印報表,則必須使用if (i = -1)
。
0
什麼都不會打印。將0分配給i,然後對該條件進行測試。
2
當分配發生時是無關緊要的。與i=0
相關的值是一個表達式,它的值定義爲0。
相關問題
- 1. bash腳本賦值和比較
- 2. HLSL:浮法賦值運算符比較
- 3. 它更快,不斷賦值或比較
- 4. 不斷賦值的浮點比較
- 5. 比較和比較的負值和正值返回值
- 6. 在同一行上的賦值和比較運算符
- 7. 用於比較的SSE內在函數(_mm_cmpeq_ps)和賦值操作
- 8. 訪問和比較JSON值
- 9. double和float值比較
- 10. 比較鍵和值std :: maps
- 11. 比較價值和打印
- 12. 比較.end()和價值
- 13. LINQ-比較和更新值
- 14. QJsonObject :: insert與直接賦值給QJsonValueRef比較?
- 15. 變量賦值顛覆比較後的尾隨註釋
- 16. 比較hashMap值
- 17. 比較值
- 18. 比較值
- 19. 比較列值
- 20. 比較值
- 21. 比較sql值
- 22. 比較值
- 23. 比較「鍵」值
- 24. 比較值
- 25. 比較int值
- 26. 比較積分值和浮點值
- 27. 全局變量聲明,在Drools中進行比較和賦值決策
- 28. 在Python中創建和比較沒有變量賦值的類實例
- 29. 比較快的方式來比較值
- 30. 元組的多元賦值比多個賦值語句慢嗎?
您擔心哪種分配。還要注意沒有比較(用==完成) – 2010-09-29 03:20:06