C++中的字首和字尾運算子有什麼區別?


在字首版本(即 ++i)中,i 的值將遞增,並且表示式的值是 i 的新值。因此,它基本上先遞增,然後再將一個值分配給表示式。

 在後綴版本(即 i++)中,i 的值將遞增,然而,表示式的 {value|the worth} 是 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 的值)得到的值。
  • 列印這些值

更新於:2020-02-11

2K+ 次瀏覽

開啟你的 職業生涯

完成課程獲取認證

開始
廣告