C++问题二 a++与++a区别(已解决)
最近突然对a++与++a产生了疑惑,于是自创一个简单粗暴的记忆方法,如下文所示:
a++,++在a后边,也就是先干别的,在自加1。
++a,++在a前边,也就是先自加1,在干别的。
这两句话记住后,下边来检验一下:
int a = 10;
cout << "a++的结果为" << a++ << endl;
cout << "a的结果为:" << a << endl;
int b = 10;
cout << "++b的结果为" << ++b<< endl;
cout << "b的结果为:" << b << endl;
运行结果为:
分析:
a++,先干别的(相当于有个c=a++,要输出a++ 即输出c),也就是先c=a=10,然后a=a+1=11,所以
cout << “a++的结果为” << a++ << endl;,输出c(a++)为10,
cout << “a的结果为:” << a << endl; 输出a为11
++b,先自加1,在干别的,这里也相当于有个d=++b;先b=b+1=11,然后d=b=11;所以
cout << “++b的结果为” << ++b<< endl; 输出d(++b)为11
cout << “b的结果为:” << b << endl; 输出b为11