C++中字首運算子和字尾運算子的區別是什麼?
在字首版本(即 ++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 值。
- 列印這些值
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP