A++是后缀加,++A是前缀加。
两者区别在于:A++是先返回其A的值,再进行自加1的运算;++A是先对于A的值自加1,再返回其值;
如下图代码所示:
// demo0.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
int main()
{
int A = 10;
cout << ++A << endl;//自加运算
cout << A++ << endl;
return 0;
}
结果如下:
原因在于:
第一个++A为,将A的值10加1之后输出。又因为cout能够改变保存的A的值,所以现在A的值为11;
接下来进行A++的操作时,A先输出之后才进行的自加操作,由于没有一个变量来接收A自加后的值,所以输出为11。
将两行代码调换顺序更容易理解其原理。
int main()
{
int A = 10;
cout << A++ << endl;
cout << ++A << endl;//自加运算
return 0;
}
输出结果如下图所示:
执行第一个A++时,输出的数据为10,但是在执行完语句时,A进行了自加(加1)的操作,所以此时A保存的值是11;
再执行++A时,是对于A加+之后再输出,由于cout能保存A现在的状态,所以A现在是11,即在A=11的状态下进行自加操作,加1结束后,输出A现在的值为12。
有疑问可加QQ1297716447,说明来意,互相交流学习。