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值。
打印这些值