The example you gave can only be interpreted in one way (for example, using if statements) whether the triple operator has right-to-left or left-to-right right-handedness.
If a right-to-left relationship matters when you have:
x = a ? b : c ? d : e;
: x = a ? b : (c ? d : e), x = (a ? b : c) ? d : e.
:
int getSign(int x) {
return x<0 ? -1 :
x>0 ? 1 :
0;
}
(, ) if/else-if:
int getSign(int x) {
if (x<0)
return -1;
else if (x>0)
return 1;
else
return 0;
}