What are Pre-increment and Post-increment in C?

Learn via video course
FREE
View all courses
C++ Course: Learn the Essentials
C++ Course: Learn the Essentials
by Prateek Narang
1000
5
Start Learning
C++ Course: Learn the Essentials
C++ Course: Learn the Essentials
by Prateek Narang
1000
5
Start Learning
Topics Covered

In the C/C++ programming language, there exists a operator that is used to increase the value of a variable by 1. The operator is denoted by the ++ symbol. When we increase the value of a variable before assigning it to another variable then it is known as Pre-Increment. When the value of a variable is incremented after assigning it to a variable, it is known as Post-Increment.

So, we can increment the value of a variable in the following two ways -

  1. Pre-Increment
  2. Post-Increment

Properties of the Increment Operator

Following are the main properties of the preincrement and postincrement in C -

  1. It increases the value of a variable by 1.
  2. It can only be used with variables.
  3. It is represented by a double plus ++ symbol.

Pre-Increment Operator in C

As the name suggests, the pre-increment operator alters the value of the variable before using it in any expression. Therefore, we can say that the pre-increment operator increases the value of the variable first and then use it in the expression.

Syntax:

For example, if the initial value of a were 5, then the value 6 would be assigned to b.

Code:

Output:

Transform Your Career

Choose from our industry-leading programs designed for career success

NSDC Certified

Modern Software and AI Engineering Program

Master full-stack development with AI integration

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Modern Data Science and ML with specialisation in AI

Advanced data science techniques with AI specialization

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

Advanced AIML with Specialisation in Agentic AI

Deep dive into AIML with focus on Agentic systems

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

DevOps, Cloud & AI Platform Engineering

Build and manage AI-powered cloud infrastructure

12 MonthsDuration
AI-LedCurriculum
Career SupportSupport
GoogleAmazonPaytm+1000 more
Go to Program
NSDC Certified

AI Engineering Advanced Certification by IIT-Roorkee

Premier AI engineering certification from IIT-Roorkee

3 MonthsDuration
AI-LedCurriculum
Career SupportSupport
Program highlights
Go to Program

Post-Increment Operator in C

The post-increment operator is used when it is required to increment the value of the variable after evaluating the expression. Therefore, in post-increment value is first used in the expression, and then it is incremented.

Syntax:

For example, assume the initial value of a to be 5. Then after executing the above statement the final value of b will be 5 as the value of a will be incremented after performing the expression.

Code:

Output:

Special Case of Post Increment Operator

What will happen if we use the post-increment operator on a variable and assign it to the same variable? In this case, the value will not be incremented i.e.i.e. it will be exactly equal to its initial value.

For example, let's say we execute the following statement -

In this case, the value of x will not get changed no matter what was the initial value of x.

Code

Output:

Evaluating Post and Pre-Increment Operators in C

In Operators Precedence & Associativity Table we have seen that the precedence of the post-increment is higher than that of pre-increment. Also, their associativity is as follows -

  1. The pre-increment is right to left associative.
  2. The post-increment is left to right associative.

Examples

Turn Learning into Career Growth

1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary
1200+Hiring Partners
89%Placement Rate
11,000+Placements
147%Avg Salary Increment
2.5XCareer Growth
₹23 LPAAvg Post-Scaler Salary

Exmaple 1

Find the output of the following code -

Output:

Explanation:

The initial values of x and y were 5 and 6 respectively. In the expression z = x++ + y++, we are performing post-increment with x and pre-increment with y. So, the value of x will be incremented but the initial value of x will be used to evaluate the expression, while the value y will be incremented and the incremented value will be used to evaluate the expression.

Scaler Placement Report and Statistics

₹23L
AVG CTC
SCALER PLACEMENT PROOF

Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.

11,000+placements
650+companies
Verified data

Example 2

Find the output of the following code -

Output:

Explanation:

The initial values of x and y were 5 and 6 respectively. In the expression z = x++ + y++, we are performing post-increment with x and pre-increment with y. So, the increased values of x and y will be used to evaluate the answer, and then it is assigned to z.

Example 3

Find the output of the following code -

Output:

Explanation:

The initial values of x and y were 'a' and 'b' respectively.

Firstly, we are using post-incrementing with the variable x which will change its value to 'b'. Then, we are using the pre-increment operator on x and assigning the result to z, due to which we will have x = 'c' and z = 'c'. At last, we are performing a special case of post-increment operator on y that will not change the value of y.

Example 4

Find the output of the following code -

Output:

Explanation:

Inside the for loop we have initialized the values of i and j to 1 and 120 respectively. After which we are iterating till the condition i < j holds true. Also, after each iteration, we are multiplying i by 2, and performing post-increment on j. So in each iteration, we will have the following values of i and j.

Iteration No.iijj
11120
22121
34122
48123
516124
632125
764126
8128127

So, after the 8th8^{th} iteration, the condition i < j fails and the final values of i and j get printed.

Conclusion

  • Preincrement and Postincrement in C are the two ways to use the increment operator.
  • In Pre-Increment, the operator sign (++) comes before the variable. It increments the value of a variable before assigning it to another variable.
  • In Post-Increment, the operator sign (++) comes after the variable. It assigns the value of a variable to another variable and then increments its value.
  • Preincrement and Postincrement in C are very useful and handy operators, especially when it is used inside the loops.
Hiring Partners:
GoogleGoogleAmazonAmazonMicrosoftMicrosoftFlipkartFlipkartAdobeAdobe1200+ more