Precedence and Associativity of Operators in C
Precedence is the priority assigned to operators. When more than one operator appears in an expression, they will be evaluated as per their precedence.
In expression 10+6/2, division operator (/) has more priority than addition operator (+), so 6/2 will be evaluated followed by adding 10 the the result of 6/2 i.e. 3.
Associativity is the way to specify the order when operators of same precedence appear in expression.
Table of Precedence and Associativity in C Language
|1||(), ||Left to Right|
|2||!, ~, ++, –, Unary +, Unary -, *, &, (type), sizeof() )||Right to Left|
|3||*, /, %||Left to Right|
|4||+ , –||Left to Right|
|5||<< , >>||Left to Right|
|6||<, <= , > , >=||Left to Right|
|7||= =, !=||Left to Right|
|8||&||Left to Right|
|9||^||Left to Right|
|10|||||Left to Right|
|11||&&||Left to Right|
|12||||||Left to Right|
|13||?:||Right to Left|
|14||=, +=, -=, /=, *=, ^=, !=, ,=, >>=||Left to Right|
|15||COMMA OPERATOR(,)||Left to Right|