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+ 次浏览

开启你的 职业生涯

完成课程获取认证

开始
广告