Bird
Raised Fist0
C++programming~5 mins

Increment and decrement operators in C++

Choose your learning style10 modes available
Introduction

Increment and decrement operators help you quickly add or subtract 1 from a number. They make your code shorter and easier to read.

When you want to count up or down by 1 in a loop.
When you need to increase or decrease a variable by 1 in a simple way.
When you want to move through items in a list one by one.
When you want to update a score or a counter quickly.
When you want to simplify code that changes a value by 1.
Syntax
C++
++variable;  // adds 1 to variable
--variable;  // subtracts 1 from variable
variable++;  // adds 1 to variable after current use
variable--;  // subtracts 1 from variable after current use

There are two types: prefix (++variable) and postfix (variable++).

Prefix changes the value before using it, postfix changes it after.

Examples
Prefix increment adds 1 before using x.
C++
int x = 5;
++x;  // x becomes 6
Postfix increment adds 1 after using y.
C++
int y = 5;
y++;  // y becomes 6 after this line
Prefix decrement subtracts 1 before using a.
C++
int a = 3;
--a;  // a becomes 2
Postfix decrement subtracts 1 after using b.
C++
int b = 3;
b--;  // b becomes 2 after this line
Sample Program

This program shows how prefix and postfix increments and decrements change the variable and when the change happens relative to printing.

C++
#include <iostream>

int main() {
    int count = 0;
    std::cout << "Initial count: " << count << "\n";

    std::cout << "Using prefix increment: " << ++count << "\n";  // count becomes 1, then prints 1
    std::cout << "Using postfix increment: " << count++ << "\n"; // prints 1, then count becomes 2
    std::cout << "Count after postfix increment: " << count << "\n"; // prints 2

    std::cout << "Using prefix decrement: " << --count << "\n";  // count becomes 1, then prints 1
    std::cout << "Using postfix decrement: " << count-- << "\n"; // prints 1, then count becomes 0
    std::cout << "Count after postfix decrement: " << count << "\n"; // prints 0

    return 0;
}
OutputSuccess
Important Notes

Use prefix (++x) when you want the updated value immediately.

Use postfix (x++) when you want to use the original value first, then update.

Be careful when using these operators inside complex expressions to avoid confusion.

Summary

Increment (++) adds 1; decrement (--) subtracts 1.

Prefix form changes value before use; postfix changes after use.

They make counting and updating numbers simple and clean.

Practice

(1/5)
1. What does the ++ operator do in C++?
easy
A. Multiplies the variable by 2
B. Subtracts 1 from the variable
C. Adds 1 to the variable
D. Divides the variable by 2

Solution

  1. Step 1: Understand the increment operator

    The ++ operator increases the value of a variable by 1.
  2. Step 2: Compare with other options

    Other options describe different operations like subtraction or multiplication, which are not what ++ does.
  3. Final Answer:

    Adds 1 to the variable -> Option C
  4. Quick Check:

    Increment (++) means add 1 [OK]
Hint: Remember ++ means add one, -- means subtract one [OK]
Common Mistakes:
  • Confusing ++ with --
  • Thinking ++ multiplies or divides
  • Mixing prefix and postfix effects
2. Which of the following is the correct syntax for prefix decrement of a variable x by 1 using the decrement operator?
easy
A. --x;
B. x--;
C. x-1;
D. x--1;

Solution

  1. Step 1: Identify prefix decrement syntax

    The prefix decrement operator is --x;, which decrements the value first.
  2. Step 2: Check other options

    x--; is postfix. x-1; subtracts but does not modify x. x--1; is invalid.
  3. Final Answer:

    --x; -> Option A
  4. Quick Check:

    Prefix decrement is -- before variable [OK]
Hint: Prefix decrement: -- before variable [OK]
Common Mistakes:
  • Writing x--1 which is invalid
  • Using x-1; which does not change x
  • Confusing decrement with subtraction
3. What is the output of the following code?
int x = 5;
int y = x++ + ++x;
std::cout << y;
medium
A. 11
B. 12
C. 13
D. 14

Solution

  1. Step 1: Evaluate x++ and ++x values

    Initially, x = 5. x++ uses 5 then increments to 6. Then ++x increments 6 to 7 and uses 7.
  2. Step 2: Calculate the sum

    Sum is 5 (from x++) + 7 (from ++x) = 12.
  3. Step 3: Confirm final value of y

    So, y = 12.
  4. Final Answer:

    12 -> Option B
  5. Quick Check:

    Postfix uses old value, prefix increments first [OK]
Hint: Postfix uses old value; prefix increments before use [OK]
Common Mistakes:
  • Adding incremented values twice
  • Mixing prefix and postfix effects
  • Ignoring order of operations
4. Find the error in the following code snippet:
int a = 3;
int b = ++a + a--;
std::cout << b;
medium
A. Undefined behavior due to modifying variable twice without sequence point
B. No error; output is 8
C. Syntax error due to invalid operator usage
D. Runtime error due to decrement on uninitialized variable

Solution

  1. Step 1: Analyze variable modifications

    The variable a is modified twice in the same expression: once by ++a and once by a--.
  2. Step 2: Understand sequence point rules

    In C++, modifying a variable more than once between sequence points causes undefined behavior.
  3. Final Answer:

    Undefined behavior due to modifying variable twice without sequence point -> Option A
  4. Quick Check:

    Multiple ++/-- on same var in one expression causes undefined behavior [OK]
Hint: Avoid multiple ++/-- on same variable in one expression [OK]
Common Mistakes:
  • Assuming output is always predictable
  • Ignoring undefined behavior rules
  • Thinking syntax error occurs here
5. Given the code below, what will be the final value of sum?
int sum = 0;
int i = 0;
while (i++ < 5) {
sum += i;
}
hard
A. 10
B. 20
C. 25
D. 15

Solution

  1. Step 1: Trace the loop iterations and values of i

    Initially, i = 0. Condition i++ < 5 uses i then increments. Iterations:
    1) i=0 (check 0<5 true), then i=1, sum+=1
    2) i=1 (check 1<5 true), then i=2, sum+=2
    3) i=2 (check 2<5 true), then i=3, sum+=3
    4) i=3 (check 3<5 true), then i=4, sum+=4
    5) i=4 (check 4<5 true), then i=5, sum+=5
    6) i=5 (check 5<5 false), loop ends
  2. Step 2: Calculate sum

    Sum = 1+2+3+4+5 = 15
  3. Final Answer:

    15 -> Option D
  4. Quick Check:

    Postfix increments after comparison; sum 1 to 5 [OK]
Hint: Postfix increments after check; sum counts 1 to 5 [OK]
Common Mistakes:
  • Assuming i increments before comparison
  • Adding wrong range of numbers
  • Confusing prefix and postfix in loop condition
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard