首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

C/C++/PHP 中 ++i 與 i++ 差異詳解:前置遞增 vs 後置遞增

     編輯:PHP 相關知識

C/C++/PHP 中 ++i 與 i++ 差異詳解:前置遞增 vs 後置遞增

++i(前置遞增)與 i++(後置遞增)在獨立陳述式中效果相同,但在參與運算式賦值時行為不同,也是面試常考題。

1. 前置遞增 ++i

先遞增,再取值參與運算。

int i = 2;
int a = ++i; // 步驟:i=3 → a=3
// 結果:a=3, i=3
// 等價於:i = i + 1; a = i;

2. 後置遞增 i++

先取值參與運算,再遞增。

int i = 2;
int a = i++; // 步驟:a=2 → i=3
// 結果:a=2, i=3
// 等價於:a = i; i = i + 1;

3. 獨立使用時

++i; // 等價於 i = i + 1
i++; // 等價於 i = i + 1
// 此時兩者無差異,但編譯器可能產生不同指令(前置通常較少暫存器)

4. 實務建議

  • 迴圈計數器偏好 ++i(C++ 迭代器更明顯),避免建立暫時物件
  • 需使用舊值時才用 i++
  • 複雜運算式中避免混用,降低可讀性並易導致未定義行為(C/C++)
  • PHP 行為與 C 一致,但無未定義行為風險

速查表

運算式初始 i運算式值最終 i
a = ++i233
a = i++223
++i233
i++223

掌握此差異能寫出更精確、效能更佳的迴圈與運算邏輯。

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