C Programming - Expressions
- Expressions - General Questions
- Expressions - Find Output of Program
- Expressions - True / False Questions
- Expressions - Yes / No Questions
Associativity is only needed when the operators in an expression have the same precedence. Usually + and - have the same precedence.
Consider the expression 7 - 4 + 2. The result could be either (7 - 4) + 2 = 5 or 7 - (4 + 2) = 1. The former result corresponds to the case when + and - are left-associative, the latter to when + and - are right-associative.
Usually the addition, subtraction, multiplication, and division operators are left-associative, while the exponentiation, assignment and conditional operators are right-associative. To prevent cases where operands would be associated with two operators, or no operator at all, operators with the same precedence must have the same associativity.
The equal to = operator has Right-to-Left Associativity. So it assigns b=5 then a=b.
Yes, the associativity of an operator is either Left to Right or Right to Left.