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

  •  通过评估表达式x ++,为y赋值,即在递增x之前先递增x的值。

  •  递增x,然后通过评估表达式++ x来给z赋值,即递增之后的x值。

  •  打印这些值