The increment ++ or decrement -- operator is a unary operator. It is use to increase or decrease the value of the operand by 1. There are two types of increment or decrement operators and they are:

i. pre-increment and pre-decrement operator

In pre-increment or pre-decrement operator the value of the operand gets increased before using it in expression. This operator is pre-fixed on the operand. Example:

consider a = 10 and x
x = ++a which is equivalent to x = 1 + a

In the above example the value of both the x and a will be 11.

Program example of preincrement/decrement operators

//An example of preincrement/decrement operators
#include<stdio.h>

int main()
{
    int a=10, x=0;
    x = ++a;      //pre-increment
    printf("pre-increment\n");
    printf("x = %d \n",x);
    printf("a = %d \n",a);

    a=10, x=0;
    x = --a;    //pre-decrement
    printf("pre-decrement\n");
    printf("x = %d \n",x);
    printf("a = %d \n",a);
    return 0;
}

Output

pre-increment
x = 11
a = 11
pre-decrement
x = 9
a = 9

ii. post-increment and post-decrement operator

In post-increment or post-decrement operator the value of the operand gets increased after executing the expression completely in which the operator is used. This operator is post-fixed on the operand. Example:

consider a = 10 and x
x = a++ which is equivalent to x = a + 1

In the above example after executing it completely the value of x will be 10 and the value of a will be 11.

Program xample of postincrement/decrement operators

//An example of postincrement/decrement operators
#include<stdio.h>

int main()
{
    int a=10, x=0;
    x = a++;      //post-increment
    printf("post-increment\n");
    printf("x = %d \n",x);
    printf("a = %d \n",a);

    a=10, x=0;
    x = a--;    //post-decrement
    printf("post-decrement\n");
    printf("x = %d \n",x);
    printf("a = %d \n",a);
    return 0;
}

Output

post-increment
x = 10
a = 11
post-decrement
x = 10
a = 9