After executing the statement "x = (a = 3, B = a --", what are the values of X, a and B in turn? How to calculate them?

After executing the statement "x = (a = 3, B = a --", what are the values of X, a and B in turn? How to calculate them?

Let's look at the brackets first, because brackets are logical operators with high priority,
A = 3 --- A is assigned to 3
B = a -- in which a -- means to pass the value first and then self subtract, so B is assigned the value 3 before a self subtract, and a becomes 2;
X = 3, this should be easy to understand
So the result is 3 2 3;