c语言中运算符的结合方向什么时候从左至右,什么时候从右至左

来源:百度知道 编辑:UC知道 时间:2024/05/30 14:42:27

! ~ ++ -- + - * & 强制类型名 sizeof ?: = += -= *= /= %= =&= ^= |= 《= 》= 是自右向左的,其他都是自作向右

预先定好的
赋值符号=是右结合的
int a,b;
a=b=3;//类似这样的情况时左右结合才有意义
考虑左右结合的时候,是考虑中间的那个变量b,因为=是右结合的,所以先执行b=3,然后执行a=b

+是左结合的
int a=2,b=3,c=4;
a=b+c+5;
因为+优先级比=高,所以先运算+,因为+是左结合的,所以先计算b+c,然后计算7+5,最后执行a=12;

这个也和具体的编译器有关呀~
一般单目运算符是右结合
双目运算符从左到右吧(不考虑优先级)