Associatividade de operadores
Quando várias operações têm a mesma precedência, geralmente as agrupamos da esquerda para a direita, i.e. são associativas-à-esquerda.
Associatividade à esquerda
Como os operadores binários + e - possuem a mesma precedência e são
associativos-à-esquerda, ambas as expressões abaixo são equivalentes.
a + b + c - d - e
(((a + b) + c) - d) - e
Os operadores binários *, / e % possuem a mesma precedência e também
associatividade à esquerda, portanto a * b / c é o mesmo que (a * b) / c.
Operações são primeiro agrupadas de acordo com a precedência, e depois de acordo
com a associatividade. Por isso a + b * c / d é equivalente a
a + ((b * c) / d) e não ((a + b) * c) / d.
Associatividade à direita
Todos os operadores de atribuição possuem associatividade à direita. Isso
significa que a = b = c é equivalente a a = (b = c).
Como os operadores de atribuição possuem a mesma precedência, a = b *= c += d
é equivalente a a = (b *= (c += d)).