# Increment and decrement operator

Using increment and decrement operators, we can increment the value of a variable by 1 or decrement by 1.

Example

```int a = 5;

++a;

//After the above statement execution, the value of a will be 6.

int b = 10;

--b;

//After the above statement execution, the value of b will be 9.
```

## A++ vs a+1

You might think why do we need ++ operator to increment variable value by 1. we can achieve this using a=a+1.

You are right. Program level it won’t make any difference. Both will give the same result. But In assembly level some optimizations are there.

#### a = a + 1;

If you give a = a + 1;

It will load the value a into memory.

And then store it again to a.

It will take three CPU cycles.

#### a++;

But if you give a++,

Its straight forward in assembly level. It’s just increment a value by 1. We can save some CPU cycles.

Some compilers optimize it smartly now a day.

## Example Program

Example

```#include<stdio.h>

int main()
{
int a = 5;

a++;
printf("After Increment, a = %d\n",a); //now a will be 6
a--;
printf("After Decrementing, a = %d\n",a); // now a will be 5

return 0;
}
```