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