Assignment Operators

Assignment Operators
There are following assignment operators supported by C language:

OperatorDescriptionExample
=Simple assignment operator, Assigns values from right side operands to left side operandC = A + B will assign value of A + B into C
+=Add AND assignment operator, It adds right operand to the left operand and assign the result to left operandC += A is equivalent to C = C + A
-=Subtract AND assignment operator, It subtracts right operand from the left operand and assign the result to left operandC -= A is equivalent to C = C - A
*=Multiply AND assignment operator, It multiplies right operand with the left operand and assign the result to left operandC *= A is equivalent to C = C * A
/=Divide AND assignment operator, It divides left operand with the right operand and assign the result to left operandC /= A is equivalent to C = C / A
%=Modulus AND assignment operator, It takes modulus using two operands and assign the result to left operandC %= A is equivalent to C = C % A
<<=Left shift AND assignment operator C <<= 2 is same as C = C << 2
>>=Right shift AND assignment operator C >>= 2 is same as C = C >> 2
&=Bitwise AND assignment operatorC &= 2 is same as C = C & 2
^=bitwise exclusive OR and assignment operatorC ^= 2 is same as C = C ^ 2
|=bitwise inclusive OR and assignment operatorC |= 2 is same as C = C | 2


Example
Try following example to understand all the assignment operators available in C programming language:

#include <stdio.h>

main
()
{
int a = 21;
int c ;

c
= a;
printf
("Line 1 - = Operator Example, Value of c = %d\n", c );

c
+= a;
printf
("Line 2 - += Operator Example, Value of c = %d\n", c );

c
-= a;
printf
("Line 3 - -= Operator Example, Value of c = %d\n", c );

c
*= a;
printf
("Line 4 - *= Operator Example, Value of c = %d\n", c );

c
/= a;
printf
("Line 5 - /= Operator Example, Value of c = %d\n", c );

c
= 200;
c
%= a;
printf
("Line 6 - %= Operator Example, Value of c = %d\n", c );

c
<<= 2;
printf
("Line 7 - <<= Operator Example, Value of c = %d\n", c );

c
>>= 2;
printf
("Line 8 - >>= Operator Example, Value of c = %d\n", c );

c
&= 2;
printf
("Line 9 - &= Operator Example, Value of c = %d\n", c );

c
^= 2;
printf
("Line 10 - ^= Operator Example, Value of c = %d\n", c );

c
|= 2;
printf
("Line 11 - |= Operator Example, Value of c = %d\n", c );

}

When you compile and execute the above program it produces following result:

Line 1 - =  Operator Example, Value of c = 21
Line 2 - += Operator Example, Value of c = 42
Line 3 - -= Operator Example, Value of c = 21
Line 4 - *= Operator Example, Value of c = 441
Line 5 - /= Operator Example, Value of c = 21
Line 6 - %= Operator Example, Value of c = 11
Line 7 - <<= Operator Example, Value of c = 44
Line 8 - >>= Operator Example, Value of c = 11
Line 9 - &= Operator Example, Value of c = 2
Line 10 - ^= Operator Example, Value of c = 0
Line 11 - |= Operator Example, Value of c = 2


Post a Comment