📅  最后修改于: 2023-12-03 15:13:44.773000             🧑  作者: Mango
在C和C++的语言中存在着自增和自减运算,分别表示操作数的自加和自减,其中又分为前自增和后自增两种,即++i
和i++
,同样的道理适用于自减运算。这里我们着重探讨前自增和后自增的不同之处。
前自增运算是指将操作数加1,并返回加1后的结果。具体形式为++i
,其运算方式与i = i + 1
完全等价。
#include <iostream>
using namespace std;
int main() {
int i = 1;
cout << ++i << endl; // 输出2
cout << i << endl; // 输出2
return 0;
}
后自增运算是指将操作数加1,但返回加1前的结果。具体形式为i++
,其运算方式与int temp = i; i = i + 1; return temp;
等价。
#include <iostream>
using namespace std;
int main() {
int i = 1;
cout << i++ << endl; // 输出1
cout << i << endl; // 输出2
return 0;
}
因为前自增和后自增的返回值不同,因此在使用时需要注意。下面是一个常见的例子:
int i = 1;
int j = i++; // 等价于 int j = i; i = i + 1;
此时j
的值为1,i
的值为2,因为后自增运算返回的是加1前的结果,所以赋值给j
的是加1之前的i
的值。
而如果替换为前自增运算:
int i = 1;
int j = ++i; // 等价于 i = i + 1; int j = i;
此时j
的值为2,i
的值为2,因为前自增运算返回的是加1后的结果,所以赋值给j
的是加1之后的i
的值。
前自增运算和后自增运算的不同在于返回值是加1前还是加1后的结果,因此在使用时需要注意。