首页 > 代码库 > c/c++ 运算符 优先级 结合性 记录

c/c++ 运算符 优先级 结合性 记录

 

1. ||  &&  是右结合性 

2. ++ -- 是整个表达式运算结束或开始前计算的。不只是一个运算符后。

int i=1,j; 

j=i+++i+++i++;    i=4,j=3;

int i=1,m; 

m=++i+++i+++i;   i=4,m=12;

3.a+++b; 

结果是(a++)+b还是a+(++b)呢?答案是前者,因为在遇到这种情况时,C编译器会将表达式按照从左往右的顺序尽量匹配出一个子表达式,所以当C编译器遇到a且后面有3个+号时,会首先尝试匹配a+++,当然这是没有意义的,所以接着尝

试a++发现这是有意义的匹配,因此确定a++为第一个子表达式,然后再接着匹配+号和b。因此结果是(a++)+b。

c/c++ 运算符 优先级 结合性 记录