C++中的条件运算符"?:"

Mel*_*ik4 1 c++ ternary-operator

为什么这句话:

int a = 7, b = 8, c = 0;
c = b > a? a > b? a++: b++: a++ ? b++:a--;
cout << c;
Run Code Online (Sandbox Code Playgroud)

不等于:

int a = 7, b = 8, c = 0;
c = (b > a? (a > b? a++: b++): a++)? b++: a--;
cout << c;
Run Code Online (Sandbox Code Playgroud)

并且等于:

int a = 7, b = 8, c = 0;
c = b > a? (a > b? a++: b++): (a++? b++: a--);
cout << c;
Run Code Online (Sandbox Code Playgroud)

请给我一些理由.为什么?