C++ 中 ++i 和 i++ 的區別是什麼?


++ 的字尾和字首版本之間存在很大的區別。

  • 在字首版本(即 ++i)中,i 的值會被遞增,並且表示式的值為 i 的新值。所以基本上它先遞增,然後為表示式賦值。
  • 在後綴版本(即 i++)中,i 的值會被遞增,但是表示式的值為 i 的原始值。所以基本上它先為表示式賦值,然後遞增變數。                                     

示例

讓我們看一些程式碼來更好地理解 -

#include<iostream>
using namespace std;
int main() {
   int x = 3, y, z;
   y = x++;
   z = ++x;
   cout << x << ", " << y << ", " << z;
   return 0;
}

輸出

這將給我們輸出 -

5, 3, 5

為什麼會這樣?讓我們詳細看看 -

  •  將 x 初始化為 3
  •  將 y 賦值為我們透過計算表示式 x++ 得到的值,即遞增前 x 的值,然後遞增 x。
  •  遞增 x,然後將 z 賦值為我們透過計算表示式 ++x 得到的值,即遞增後的 x 的值。
  •  列印這些值

更新於: 2023-09-08

33K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告