解释增量运算符

Explain increment operator

本文关键字:运算符 解释      更新时间:2023-10-16

为什么运行代码后i = 11和j = 10的值?

#include<iostream>
int main()
{
//Put your code here
int i = 10;
int j = i++;
std::cout << i << "n";
std::cout << j << "n";
return 0;
}
int i = 10;

i初始化为 10。

int j = i++;

初始化j = i;(j = 10(,并在计算表达式后应用增量作为副作用,在到达std::cout << i << "n";语句之前进行i = 11;

这是发生的情况:i = 10; j=10; i++;

你先唏嘘 j 勇气,然后再增加我的勇气。

int j = i++;

它是post-increment运算符。它复制旧的值i,即在i递增之前。所以在增量之前,i包含10.所以10会被复制到j中,然后i的值会增加1。这一切都发生在一条线上。因此,当您在下一行中打印出j的值时,j变得10i变得11更新的值。

int j = ++i;

这是pre-increment operator.它与前一个的唯一区别是i的新值被复制到j中(这意味着,i 首先递增,然后发生j=i赋值(。如果在下一行中打印出来,这将为ij打印11