zhiyinjixu

  博客园  :: 首页  ::  :: 联系 ::  :: 管理

 

规律:比如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;
























 

 

 

 

 

 


posted on 2011-11-14 15:48  zhiyinjixu  阅读(214)  评论(0)    收藏  举报