---
title: "3.5 Pre-Decrement and Post-Decrement"
description: "The decrement operator can appear before or after a variable. Both forms decrease the variable by `1`, but they differ in the value produced when the operation is used inside an expression. ``` #include int main() { int a =…"
url: "https://edcret.in/docs/c-programming/operators-and-expressions/3-5-pre-decrement-and-post-decrement/"
updated: "2026-09-07"
category: C Programming / Operators and Expressions
---

# 3.5 Pre-Decrement and Post-Decrement

The decrement operator can appear before or after a variable. Both forms decrease the variable by `1`, but they differ in the value produced when the operation is used inside an expression.

```
#include <stdio.h>

int main()
{
    int a = 5;
    int b = 5;

    printf("Pre-decrement: %d\n", --a);
    printf("Post-decrement: %d\n", b--);

    printf("a = %d\n", a);
    printf("b = %d\n", b);

    return 0;
}
```

### Example Output

```
Pre-decrement: 4
Post-decrement: 5
a = 4
b = 4
```

### Explanation

In pre-decrement:

```
--a
```

`a` is decremented before its value is used by the expression. Therefore, `--a` produces `4`.

In post-decrement:

```
b--
```

the original value of `b` is used by the expression first. The decrement is then applied, so the expression produces `5`, while `b` becomes `4`.

Both forms ultimately decrease the variable by `1`; the difference is the value produced by the expression.
