Menu
Coddy logo textTech

Pós-incremento/Decremento

Parte da seção Fundamentos do Journey de C++ da Coddy — lição 19 de 74.

Na lição anterior, cobrimos os operadores de incremento (++) e decremento (--). Estes operadores possuem duas formas: prefixa e posfixa.

Saber qual forma usar é importante em programas reais — por exemplo, ao acompanhar a pontuação de um jogo, contar iterações de um loop ou avançar por uma lista de itens.

A forma prefixada é escrita antes da variável (ex: ++x ou --x), e a forma posfixada é escrita depois da variável (ex: x++ ou x--).

A diferença entre as duas formas é sutil, mas importante:

  • Forma prefixada: Incrementa/decrementa a variável e então retorna o novo valor.
  • Forma posfixada: Retorna o valor atual da variável e então a incrementa/decrementa.

Aqui está um exemplo para ilustrar a diferença:

int x = 5;
int y = x++;
// y = 5, x = 6 (posfixo)

int a = 5;
int b = ++a;
// b = 6, a = 6 (prefixo)

No primeiro caso, y recebe o valor original de x (5), e então x é incrementado para 6. No segundo caso, a é incrementado primeiro, e então seu novo valor (6) é atribuído a b.

A mesma lógica se aplica ao operador de decremento:

int x = 5;
int y = x--;
// y = 5, x = 4 (pós-fixado)

int a = 5;
int b = --a;
// b = 4, a = 4 (prefixado)
challenge icon

Desafio

Iniciante

Você recebeu um código com as inicializações de x, y e z. (Não apague essas linhas!)

Sua tarefa é usar os operadores de incremento/decremento para realizar as seguintes operações, nesta ordem:

  1. Use o operador de incremento pós-fixado para atribuir o valor atual de x a a e, em seguida, incrementar x.
  2. Use o operador de decremento pré-fixado para decrementar y e atribuir seu novo valor a b.
  3. Use o operador de decremento pós-fixado para atribuir o valor atual de z a c e, em seguida, decrementar z.

Após realizar essas operações, imprima os valores de a, b, c, x, y e z no console no seguinte formato:

a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]

Folha de consulta

Os operadores de incremento (++) e decremento (--) têm duas formas:

  • Forma prefixada (++x, --x): Incrementa/decrementa a variável primeiro, depois retorna o novo valor
  • Forma pós-fixada (x++, x--): Retorna o valor atual primeiro, depois incrementa/decrementa a variável

Exemplos:

int x = 5;
int y = x++;  // y = 5, x = 6 (pós-fixado)

int a = 5;
int b = ++a;  // b = 6, a = 6 (prefixado)

int x = 5;
int y = x--;  // y = 5, x = 4 (pós-fixado)

int a = 5;
int b = --a;  // b = 4, a = 4 (prefixado)

Experimente você mesmo

#include <iostream>

int main() {
    int x = 10;
    int y = 20;
    int z = 30;
    
    int a, b, c;
    
    // Digite seu código abaixo
    
    
    // Não altere as linhas abaixo
    std::cout << "a: " << a << std::endl;
    std::cout << "b: " << b << std::endl;
    std::cout << "c: " << c << std::endl;
    std::cout << "x: " << x << std::endl;
    std::cout << "y: " << y << std::endl;
    std::cout << "z: " << z << std::endl;
    
    return 0;
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos