I can understand why the assignment operator is right associative. It makes sense that when
x = 4 + 3
is evaluated, that 4 and 3 are added before being assigned to x.
I am unclear as to how ?:
would benefit from being right associative. Does it only matter when two ?:
s were used like this
z = (a == b ? a : b ? c : d);
Then it is evaluated like this:
z = (a == b ? a : (b ? c : d));
Surely it would make more sense to evaluate from left to right?