"a++" 与 "++a" 的区别-演示
两种表示方法经常容易混淆, 在这里将利用演示程序来揭示两者之间的区别, 演示代码如下
int main() { int a = 1; cout << "a=1 " << "a++: " << a++ << " 此时a= " << a << endl; a = 1; cout << "a=1 " << "++a: " << ++a << " 此时a= " << a << endl; system("pause"); return 0; }
最终结果如下:
a=1 a++: 1 此时a=2
a=1 ++a: 2 此时a=2
显然, a++ 与 ++a 均是对a自身的自加运算, 就改变a的值来讲, 二者效果相同; 但是, 两者算式的值却不相同(a++)的值保持为原先a的值, 而(++a)的值随着a的值一起变化加一. 下面, 我们来看这两个式子的值具体在怎么变化;
代码如下:
int main() { int a = 1; cout << "a=1 " << "a++=" << a++ << "; 此时a=" << a << endl; cout << "此时a=" << a;cout<< "二次a++=" << a++ << "; 此时a=" << a << endl << endl; a = 1; cout << "a=1 " << "++a=" << ++a << "; 此时a=" << a << endl; cout << "此时a=" << a;cout<< "二次++a=" << ++a << "; 此时a=" << a << endl; system("pause"); return 0; }
运行结果如下:
a=1 a++=1; 此时a=2
此时a=2二次a++=2; 此时a=3
a=1 ++a=2; 此时a=2
此时a=2二次++a=3; 此时a=3
结果与我们想的一致, a++是对a变量值的引用, 始终与该式之前a的值一致; 而++a本身就是对a自增的引用, 结果与该式之后的a保持一致.