回答
n++
是「後增值運算符」,它只在之後遞增值其初始值已用於周圍的表達式。
您的代碼就相當於:
int d = n + 5;
n = n + 1;
要其價值被使用之前增加值,使用++n
的預先遞增運算符。
+1用於突破相同的無用語法。 –
因爲您需要使用++n
來使用該表達式中遞增的值。
看,在表達式樹它不是遞增n
,然後使用,附加了價值,因爲n++
返回n
的價值,但它增加了使用的下一個表達式。
但是,++n
實際上將返回此表達式的遞增值n
。
因此,n++ + 5
產生25
,而++n + 5
產生26
。
n++
表示執行操作後的adition,所以第一個d將等於n+5
,然後n
會得到提升。
因爲n++
將首先分配值和迭代完成後它會增加這就是其給予25
因此原因,
int d= n++ + 5;
被解釋爲
int d = n + 5;
爲什麼downvote ?????? – Neel
因爲你正在使用Postfix的表達
int d = n++ + 5;
其中編譯器首先將值分配給d,但在以下
int d = ++n + 5;
你會得到D的值26
++
:後遞增運營商。
post ++ x ++運算符的結果是操作數的值。可獲得這樣的結果 後,將操作數的值被遞增
因此,
int d= n++ + 5;
在上述interpretaion執行後解釋爲
int d = n + 5;
。 n
被加1。
- 1. C - 簡單的除法(1/n)導致奇怪的答案
- 2. 歸併給奇怪的答案
- 3. 奇怪的函數行爲c + +,不返回相同的答案
- 4. 答案是:n! =Θ()?
- 5. 奇怪的是「\ n」vs'\ n'
- 6. 疑難解答奇怪的SVG行爲
- 7. 使用PCRE的奇怪答案正則表達式
- 8. CS50 Vigenere - 奇怪的圖案
- 9. R繪圖函數給出了奇怪的答案
- 10. PHP中的按位運算符(和)。得到奇怪的答案
- 11. NSXMLParser奇怪的行爲與\ n
- 12. 得到奇怪的答案關於預增值
- 13. 爲什麼我會得到一個奇怪的答案?
- 14. 在java中比較double值給出了奇怪的答案
- 15. 遞歸功能函數給出奇怪的答案
- 16. Groovy關閉執行奇怪
- 17. 的webdriver執行JavaScript奇怪的行爲
- 18. 奇怪的十六進制答案簡單的數學代碼::塊
- 19. 的Symfony2控制器發送答案後執行操作
- 20. 執行mathamatical操作後得到錯誤的答案
- 21. 執行者的木偶奇怪行爲
- 22. 在給出正確答案後繼續執行
- 23. 顯示n皇后問題的多個可能性答案
- 24. CLLocation distanceFromLocation返回錯誤的答案,然後正確的答案
- 25. requirejs,multipage,奇怪的執行順序
- 26. PHP執行命令奇怪的錯誤?
- 27. MSAccess JET showplan.out奇怪的執行順序
- 28. 奇怪的Java數學執行
- 29. 執行這個奇怪的功能
- 30. SwingWorker任務執行()的奇怪結果
可能的重複[有什麼區別++ i和i ++](http://stackoverflow.com/questions/24853/what-is-the-difference-between-i-and -i) –
另請參閱:https://communities.coverity.com/blogs/development-testing-blog/2013/09/24/cc-and-c –