规律:比如i=3;无论是++i 还是 i++,运算后,i的值都是4;而对于(++i)的值是4,(i++)的值还是3;
例如:
#include <iostream>
using namespace std;
int main ()
{
int i,k;
i= 3;k= 0; k=++i; cout<<k<<"\t"<<i<<endl;
i= 3;k= 0; k=i++; cout<<k<<"\t"<<i<<endl;
cout<<endl;
i= 3;k= 0; k=(++i); cout<<k<<"\t"<<i<<endl; //就是加上括号也无用
i= 3;k= 0; k=(i++); cout<<k<<"\t"<<i<<endl;
}
输出结果为:

++i 和 i++的区别只有在表达式里的时候才能体现出来;如果只有 ++i; 和 i++;de 的话,两者的效果是一样的。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
另外注意:在块内定义的变量到了块外就无效了;
在块外定义的变量,在块内运算后,到了块外的值就是在快内的运算结果。
#include <iostream>
using namespace std;
int main ()
{
int x=5;
if(++x>=60) {}
cout<<x<<endl; //x的输出结果为6,外部变量判断的时候自加也算。
int y=5;
for(y;y<7;++y){}
cout<<y<<endl; //y的输出即如果为7,外部变量判断的时候自加也算
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面两种写法是等价的;输出结果都为6;
int x=5;
if (++x>=60){}
else {}
cout<<x<<endl;
int x=5;
++x;
if(x>=60) {}
else {}
cout<<x<<endl;
浙公网安备 33010602011771号