首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C/C++/Java 前置遞增 (++i) 與後置遞增 (i++) 區別詳解

     編輯:程式設計綜合問答

核心差異:

  • ++i (前置):先遞增,再參與運算,傳回遞增後的值。
  • i++ (後置):先參與運算,再遞增,傳回遞增前的值。

經典題目逐步演示

int i = 3;
int y = (i++) + (i++) + (i++);
步驟運算式i 當前值該項取值備註
1i++33先取值 3,再 i=4
2i++44先取值 4,再 i=5
3i++55先取值 5,再 i=6
結果y = 3+4+5 = 12最終 i=6

前置遞增版本

int i = 3;
int y = (++i) + (++i) + (++i);
步驟運算式i 當前值該項取值
1++i44
2++i55
3++i66
結果y = 4+5+6 = 15最終 i=6

記憶口訣

  • 符號在前 → 先加,值已新。
  • 符號在後 → 先用,值還舊。

效能提示

對於基本型別 (int、指標) 編譯器會優化掉差異;但對於類別迭代器 (C++ STL、Java Iterator),前置遞增避免建立臨時物件,效能更佳,建議循環中統一用 ++it。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved