一直以来对i++和++i分不清楚,一会儿感觉这样,一会儿感觉那样,今天正好开着vs,就顺便测试了一下
int main()
{
int a = 0;
int value1 = ++a;
cout << "a的值为: " << a << endl;
cout << "++a的值为: " << value1 << endl;
int b = 0;
int value2 = b++;
cout << "b的值为: " << b << endl;
cout << "b++的值为:" << value2 << endl;
system("pause");
return 0;
}
输出的结果为
a的值为: 1
++a的值为: 1
b的值为: 1
b++的值为:0
所以也就很明确了,利用符号的优先级可以很清除的理解了。
=++a中是先自加,然后赋给另外一个值,结果是两个值都变了。
=a++中是先把a赋给另一个值,然后再自加,结果是变了a,另一个值不变,结论就这么出来了。