Operators in C Language| Part-4
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 |
---|---|
|
|
|
|
Example of increment and decrement operators
Example-1:
int a = 3, b = 4,c;
c = ++a * ++b;
printf("%d %d %d",a,b,c); //4 5 20
Example-2:
int a = 3,b = 4, c;
c = a++ * b++;
printf("%d %d %d",a,b,c); // 4 5 12
Example-3:
int a = 3,b = 4, c;
c = ++a && b++;
printf("%d %d %d",a,b,c); //4 5 16
Example-4:
int a = 5,b;
b = a++ * a++;
printf("%d %d",a,b); // 7 25
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); // 5
//because = operator enjoy the high priority than comma so it evalutes first and 5 gets stored in a.
Example-2
int a;
a = (5,6,7);
printf("%d",a); // 7
//Here the parenthisis is evaluted first and from multiple value right most value returns and gets stored in a so output is 7.
Previous | Back to C Programming index | Next |
Comments