C ++中的前缀和后缀运算符有什么区别?
在前缀版本(即++i)中,i的值增加,并且表达式的值是i的新值。因此,基本上,它首先递增,然后为表达式分配一个值。
在后缀版本(即i++)中,i的值增加,但是表达式的{value|theworth}是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,然后为z赋值,我们可以通过计算表达式++x来获得z的值,即递增后x的值。
打印这些值