请举例解释一下什么是左结合,什么叫“结合方向自右向左”,我没有一个感性的认识呀

发布时间:2024-05-10 16:32 发布:上海旅游网

问题描述:

请举例解释一下什么是“左结合”,什么叫“结合方向自右向左”,我没有一个感性的认识呀

问题解答:

左结合:自左到右运算,右结合:自右向左运算
而在c中,一般都是自左向右运算的.自右向左的运算符只有单目运算符、三目运算符以及赋值运算。
比如:b=(1>2)?3:((4>5)?6:7))
运算顺序:先判断4>5,得到假,则(4>5)?6:7取值为7
再判断1>2,得到假,则(1>2)?3:7取值为7
最后得到b=7

PS:
假设a=1,则b=++a++的值为++(a++)=++(1++)=++1=2,而a的值也为2,因为a++表达式的值依然是a加1之前的值。

比如:a+b+c,就是左结合,等价于(a+b)+c
++a++,就是右结合,等价于++(a++)

TO plum5:
举例是好的,但是....
++a++,就是右结合,等价于++(a++)
这个表达式本身是错误的.

这是在运算优先级相同情况下,左结合:从左到右运算,右结合:从右向左运算。

楼上搞笑
b=++a++;
书上就有的,怎么成错的了

热点新闻