i = ++i
i = 2;
i = i++ + ++i;
結果輸出6,從左到右算,i++之後i為3,後邊++i之後,i為4
但i++取的是舊值2,所以2+4= 6
i = ++i + i++;
結果為7,這就很容易困惑,其實只要記得++i的時候,i取得是最新的值,所以++i之後,i為3,後邊i++之後i為4,但取舊值3,前邊的++i取新值4,所以結果3+4 = 7
這麼說你可能不信,接著 看
i = ++i + ++i;
結果為8,兩個都是++i,都取新值,所以4+4 = 8
i = ++i + ++i + ++i;
如果按照上邊的思路,結果為15,可惜不是,首先這裡兩個+運算子,一個+運算子當作一個小整體,所以前邊兩個++i相加結果依舊為8,後邊++i之後i為5,呼叫第二個+運算子,8+5 = 13
i = i++ + ++i + ++i;呢
相信你已經明白了,沒錯,是11,第一個+號,結果如上,為6,第二個+號運算子則為6+5 = 11
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979119/viewspace-2713363/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 你真的瞭解 i++, ++i 和 i+++++i 以及 i+++i++ 嗎?
- Smallest Range I 最小差值 I
- jvm是如何執行i = i++ + ++i的,你知道嗎?JVM
- [COCI2021-2022#1] Kamenčići
- 你真的懂 i++ 和 ++i 嗎?
- Intel CPU(i3、i5、i7、i9)型號、效能詳細解讀Intel
- Arcaea I
- 位元組碼指令分析 ++i 和 i++
- C++複習整理---i++和++iC++
- npm i和npm i --production的區別NPM
- 計算機I/O與I/O模型計算機模型
- 關於java中的i++和++iJava
- Java I/OJava
- I. Disks
- Reflective Journal I
- autoreconf -i -f
- I/O流
- git rebase -iGit
- 技術小菜比入坑 LinkedList,i 了 i 了
- 關於 i=i++ 問題、入棧順序
- 福尼斯焊機TPS320i/TPS400i/TPS500i的焊接特性S3
- synchronized下的 i+=2 和 i++ i++執行結果居然不一樣synchronized
- 處理器i5和i7有什麼區別 電腦i5和i7哪個更好
- i7和i5的處理器哪個好 英特爾i7和i5cpu哪個更好
- 八代i3 8100對比i5 8400的區別 i3 8100和i5 8400哪個好?
- i5-8500和i7-7700K區別對比 i5 8500和i7 7700K哪個好?
- Python教程:精簡概述I/O模型與I/O操作Python模型
- Java中 i=i++ 問題底層原理解析Java
- C++中的i++和++i你真的理解嗎?C++
- i7-8086K對比i7-8700K評測 i7-8086K和i7-8700K有何區別
- I. 棋盤
- c++ I/OC++
- i_uintptr_tUI
- I2C
- I'm coming...
- i角檢驗
- If I were a boy againAI
- Part I Concepts and Administration