Operator precedence and associativity in c programming
operator precedence and Associativity in C Programming...
Any c operator have two properties ; priority and associtiavity.Precedence of operators...
- If more than one operators are involved in an expression.
- C language has a predefined rule of priority for the operators.
- here This rule of priority of operators is called operator precedence.
- In C, precedence of arithmetic operators( *, %, /, +, -) is higher than relational operators(==, !=, >, <, >=, <=) and precedence of relational operator is higher than logical operators(&&, || and !).
Associativity of operators...
- If two operators of same priority is present in an expression, Associativity of operators indicate the order in which they execute.
Operators Associativity...
++ -- Post increment/post decrement operator Left to right associativity
++ -- Pre-increment/pre-decrement operator Right to left associativity
+ - Unary plus/minus operator Right to left associativity! ~ Logical NOT/bitwise NOT operator Right to left associativity
* "Value at address" operator Right to left associativity
& "Address of" operator Right to left associativity
sizeof "Size of" operator Right to left associativity
* / % Multiplication/division/modulus operator Left to right associativity
+ - Addition/subtraction operator Left to right associativity
<< >> Bitwise left shift/bitwise right shift operator Left to right associativity
< <= "Less than"/"Less than or equal to" relational operator Left to right associativity
> >= "Greater than"/"Greater than or equal to" relational operator Left to right associativity
== != "Equal to"/"Not equal to" relational operator Left to right associativity
& Bitwise AND operator Left to right associativity
^ Bitwise XOR operator Left to right associativity
| Bitwise OR operator Left to right associativity
&& Logical AND operator Left to right associativity
|| Logical OR operator Left to right associativity
?: Ternary conditional operator Right to left associativity
= Assignment operator Right to left associativity
+= -= Assignment with addition/subtraction Right to left associativity
*= /= %/ Assignment with multiplication/division/modulus Right to left associativity
<<= >>= Assignment with bitwise left shift/bitwise right shift Right to left associativity


Nice
ReplyDeleteNice
ReplyDelete