Bird
Raised Fist0
Cprogramming~5 mins

Increment and decrement operators

Choose your learning style10 modes available
Introduction

Increment and decrement operators help you add or subtract 1 from a number quickly and simply.

Counting items in a list one by one.
Moving through positions in an array step by step.
Increasing or decreasing a score or value by 1.
Looping a fixed number of times.
Adjusting indexes when processing data.
Syntax
C
variable++;
variable--;
++variable;
--variable;

variable++ adds 1 after using the variable's current value.

++variable adds 1 before using the variable's value.

Examples
This adds 1 to x after its current value is used.
C
int x = 5;
x++;  // x becomes 6
This adds 1 to y before its value is used.
C
int y = 5;
++y;  // y becomes 6
This subtracts 1 from z after its current value is used.
C
int z = 5;
z--;  // z becomes 4
This subtracts 1 from w before its value is used.
C
int w = 5;
--w;  // w becomes 4
Sample Program

This program shows how the count variable changes when incremented and decremented using both postfix and prefix operators.

C
#include <stdio.h>

int main() {
    int count = 10;
    printf("Initial count: %d\n", count);

    count++;
    printf("After count++: %d\n", count);

    ++count;
    printf("After ++count: %d\n", count);

    count--;
    printf("After count--: %d\n", count);

    --count;
    printf("After --count: %d\n", count);

    return 0;
}
OutputSuccess
Important Notes

Postfix (variable++) uses the value first, then changes it.

Prefix (++variable) changes the value first, then uses it.

Use these operators to write shorter and clearer code when adding or subtracting 1.

Summary

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

Postfix form changes value after use; prefix form changes before use.

They are useful for counting and looping tasks.

Practice

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

Solution

  1. Step 1: Understand the meaning of ++

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

    Subtracting, multiplying, or dividing are not what ++ does.
  3. Final Answer:

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

    ++ means add 1 [OK]
Hint: Remember ++ means add one, -- means subtract one [OK]
Common Mistakes:
  • Confusing ++ with --
  • Thinking ++ multiplies
  • Mixing increment with assignment
2. Which of the following is the correct syntax for prefix decrement of a variable x by 1 in C?
easy
A. x--;
B. x-+;
C. x+-;
D. --x;

Solution

  1. Step 1: Identify prefix decrement syntax

    The prefix decrement operator is --x;, which decrements x by 1.
  2. Step 2: Check options carefully

    A is postfix x--;, B x-+; and C x+-; invalid syntax, D is correct prefix.
  3. Final Answer:

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

    Prefix decrement --x; is correct syntax [OK]
Hint: Look for correct -- syntax before or after variable [OK]
Common Mistakes:
  • Using invalid operators like -+ or +-
  • Confusing prefix and postfix syntax
  • Missing semicolon
3. What is the output of this C code?
int x = 5;
printf("%d", x++);
printf(" %d", x);
medium
A. 5 5
B. 5 6
C. 6 6
D. 6 5

Solution

  1. Step 1: Understand postfix increment x++

    Postfix means use the current value first, then add 1. So printf("%d", x++) prints 5, then x becomes 6.
  2. Step 2: Print updated value of x

    The second printf prints the new value of x, which is 6.
  3. Final Answer:

    5 6 -> Option B
  4. Quick Check:

    Postfix prints old value, then increments [OK]
Hint: Postfix ++ prints old value, prefix ++ prints new value [OK]
Common Mistakes:
  • Confusing postfix with prefix
  • Expecting increment before print
  • Ignoring space in output
4. Find the error in this code snippet:
int a = 3;
int b = ++a++;
printf("%d", b);
medium
A. Syntax error due to invalid use of increment operators
B. b will be 4
C. b will be 5
D. No error, prints 3

Solution

  1. Step 1: Analyze the expression ++a++

    This expression tries to apply prefix and postfix increment operators together on the same variable, which is invalid syntax in C.
  2. Step 2: Understand compiler rules

    C does not allow chaining increments like this; it causes a syntax error.
  3. Final Answer:

    Syntax error due to invalid use of increment operators -> Option A
  4. Quick Check:

    Invalid chaining of ++ operators causes syntax error [OK]
Hint: Don't chain prefix and postfix ++ on same variable [OK]
Common Mistakes:
  • Thinking it increments twice
  • Ignoring syntax error
  • Assuming valid output
5. Consider this code:
int arr[3] = {1, 2, 3};
int i = 0;
int sum = 0;
while (i < 3) {
    sum += arr[i++];
}
printf("%d", sum);
What is the output and why?
hard
A. 6 because i increments before accessing each element
B. 5 because i increments before accessing each element
C. 6 because i increments after accessing each element
D. 5 because i increments after accessing each element

Solution

  1. Step 1: Understand postfix increment in arr[i++]

    The value of i is used first to access the array element, then i is incremented.
  2. Step 2: Calculate sum step-by-step

    Elements accessed: arr[0]=1, arr[1]=2, arr[2]=3; sum = 1+2+3 = 6.
  3. Final Answer:

    6 because i increments after accessing each element -> Option C
  4. Quick Check:

    Postfix increments after use, sum is 6 [OK]
Hint: Postfix increments after use, so sum all elements correctly [OK]
Common Mistakes:
  • Confusing prefix and postfix increments
  • Calculating wrong sum
  • Assuming i increments before access
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