Unary operators
Unary operator are those which only require one operand(argument) to operate. + , - , ++, --, typecast and sizeof are some unary operators in C programming.
+5, -5 are the example of +,- unary operators. which represents +ve and -ve values.
Unary operators have high priority than binary operators, so unary operators are always evalutes first.
Increment / Decrement operator
++, -- are called increment and decrement operators.
Increment and decrement operators are available in two versions
- Prefix
- Postfix
Difference b/w prefix and postfix
Prefix |
Postfix |
| | | int a = 5; | | ++a; | | printf("%d",a); |
|
| | | int a = 5; | | a++; | | printf("%d",a); |
|
| | | int a = 5,b; | | b = ++a; | | printf("%d %d",a,b); |
|
| | | int a = 5,b; | | b = a++; | | printf("%d %d",a,b); |
|
Example of increment and decrement operators
Example-1:
| |
| int a = 3, b = 4,c; |
| c = ++a * ++b; |
| printf("%d %d %d",a,b,c); |
Example-2:
| |
| int a = 3,b = 4, c; |
| c = a++ * b++; |
| printf("%d %d %d",a,b,c); |
Example-3:
| |
| int a = 3,b = 4, c; |
| c = ++a && b++; |
| printf("%d %d %d",a,b,c); |
Example-4:
| |
| int a = 5,b; |
| b = a++ * a++; |
| printf("%d %d",a,b); |
| |
| int a = 5,b; |
| b = ++a * ++a; |
| printf("%d %d",a,b); |
Above example, output varies from compiler to compiler. on some compiler output is 7 42 as expected most of the time. but on the other hand, some compiler produces 7 49. This happens because on some compiler when the value of a is changed on one place then it affects all places of the same expression.
Comma operator
- Comma operator is used to seperate one or more variables and value.
- Comma operator works from left to right, but returns right most value.
- Comma operator is the last one in the priority table of operator so it has the lowest priority in all operators.
Example-1
| int a; |
| a = 5,6,7; |
| printf("%d",a); |
| |
Example-2
| int a; |
| a = (5,6,7); |
| printf("%d",a); |
| |
Comments