# What is the difference between ++x and x++?

Jun 6th, 2023 In the programming world, operators play a vital role in manipulating and modifying the values of the variables. One such set of operators that can increment a value by one is the increment operator.

Usually, there are two forms of the increment operator:

• pre-increment (++x)

• and post-increment (x++)

Although both operators look similar and achieve the same outcome, they fundamentally differ in how they modify the variable and return its value. To understand the dissimilarity between ++x and x++, let’s dive into an example and understand the operator’s usage and behavior, respectively.

### Case I: Post Increment (x++)

``````#include <iostream>

int main()
{
int x = 9;
int y = x++; // x = 10, y = 9

std::cout << x << " - " << y;
return 0;
}``````

In this code snippet, the value of x is assigned to y before the increment takes place. Therefore, after the execution of the second line, x will have the value of 10, while y will have the original value of x, which is 9.

### Case II: Pre Increment (++x)

``````#include <iostream>

int main()
{
int x = 9;
int y = ++x; // x = 10, y = 10

std::cout << x << " - " << y;
return 0;
}``````

In this code snippet, the value of x is incremented by one before being assigned to y. Therefore, after the execution of the second line, both x and y will have the value of 10.

This is because the pre-increment operator first increments the value of x to 10 and then assigns it to y.

### Conclusion

In conclusion, the difference between ++x and x++ lies in the order of execution and the value returned. The pre-increment operator (++x) increments the value before its usage and returns the updated value, while the post-increment operator (x++) returns the original value and then increments it. Understanding this distinction is crucial for proper variable manipulation and ensuring the desired behavior in a programming language.