3.3. Assignment, Increment and Decrement Operators
Assignment Operator
An assignment operator is used for assigning a value to a variable. The most common assignment operator is =
Assigns the value on the right side to the variable on the left side.
int x;
x = 10; // Assigns the value 10 to the variable x
Adds the value on the right side to the current value of the variable.
int a = 5;
a += 3; // Equivalent to: a = a + 3;
Subtracts the value on the right side from the current value of the variable.
int b = 8;
b -= 2; // Equivalent to: b = b - 2;
Multiplies the current value of the variable by the value on the right side.
int c = 4;
c *= 5; // Equivalent to: c = c * 5;
Divides the current value of the variable by the value on the right side.
int d = 20;
d /= 4; // Equivalent to: d = d / 4;
Computes the remainder when dividing the current value of the variable by the value on the right side.
int e = 15;
e %= 7; // Equivalent to: e = e % 7;
C programming has two operators increment ++ and decrement -- to change the value of an operand (constant or variable) by 1. Increment ++ increases the value by 1 whereas decrement -- decreases the value by 1. These two operators are unary operators, meaning they only operate on a single operand. Both the increment and decrement operators can either precede (prefix) or follow (postfix) the operand.
Here is example code explaining the concept of pre and post increment operator.
Note: pre and post decrement works the same way, it just decreases the value by 1.
#include <stdio.h>
int main() {
// Declare and initialize variables
int a = 5, b, c;
// Post-increment: a++ means assign the current value of 'a' to b, then increment 'a'
b = a++;
printf("\nPost-increment:\n");
printf("a = %d (after increment), b = %d (using original value of 'a')\n", a, b);
// Pre-increment: ++b means increment 'b' first, then assign the updated value of 'b' to c
c = ++b;
printf("\nPre-increment:\n");
printf("b = %d (after increment), c = %d (using updated value of 'b')\n", b, c);
return 0;
}
output:
Post-increment:
a = 6 (after increment), b = 5 (using original value of 'a')
Pre-increment:
b = 6 (after increment), c = 6 (using updated value of 'b')