We have already used assignment operator while assigning a value to the variable. Let’s discuss it here again in detail.
The assignment operator is used to assign a value to the variable. The operand on the left side of the of the assignment operator must be a variable and operand on the right-hand side can be a constant, variable or expression. Here are some examples:
x = 18 // right operand is a constant
y = x // right operand is a variable
z = 1 * 12 + x // right operand is an expression
We can also assign the same value to multiple variables at once.
x = y = z = 100
z are initialized to
Note: Expression like:
x = 18
y = x
z = 1 * 12 + x
are called assignment expression. If we put a semicolon(
;) at the end of the expression like this:
x = 18;
y = x;
z = 1 * 12 + x;
then the assignment expression becomes assignment statement.
Compound Assignment Operator
Assignment operations that use old value of a variable to compute its new value are called Compound Assignment. For example, the following statement adds
5 to the existing value of
x = 100
x = x + 5
Here first, the existing value of
x is added to
5, this value is then assigned back to
It turns out that C provides some special operators for this kind of operations.
x += 5
is same as
x = x + 5 but it is more concise and easy to type.
+= is known as Compound assignment operator.
Similarly we have other Compound assignment operators:
The following program demonstrates Compound assignment operators.
char a = 'd';
printf("ASCII value of %c is %d\n", a, a); // print ASCII value of d
a += 10; // increment a by 10;
printf("ASCII value of %c is %d\n", a, a); // print ASCII value of n
return 0; // return 0 to operating system
ASCII value of d is 100
ASCII value of n is 110