c++ 符号执行顺序小例子

if ( a[i] == b[i] && ++i < 0)  这个表达式的执行顺序

1. 

int i = 0;

if ( i++ <= 0 )// 输出 True

    cout<<"True"<<endl; 

else

    cout<<"False"<<endl;   

 

顺序: 1)i <= 0   2) i++ (如果第一个不满足,这里仍会执行)

 

2.  

1 int i = 0;
2 
3 if ( ++i <= 0 )// 输出 False
4 
5  cout<<"True"<<endl; 
6 
7 else
8 
9  cout<<"False"<<endl;   

 

顺序: 1)++i  2) i<=0

 

3.

1  int a[2] = {1,2};
2 
3  int b[2] = {2,2};
4 
5  int i = 0;
6 
7  while(a[i]==b[i] && ++i<size)
8    ;

 

    顺序:1) a[i] == b[i]  因为 a[0]= 1 而 b[0] = 2,所以这个表达式不成立,&&后面的就不执行,i仍保持为0

 

posted @ 2014-03-20 11:33  huapyuan  阅读(750)  评论(0编辑  收藏  举报