Operadores de incremento e decremento Master C:uso e práticas recomendadas
C - Operadores de incremento e decremento
O operador de incremento (++) incrementa o valor de uma variável em 1, enquanto o operador de decremento (--) diminui o valor.
Operadores de incremento e decremento são frequentemente usados na construção de loops contados em C (com o loop for). Eles também têm sua aplicação na travessia de arrays e aritmética de ponteiros.
Os operadores ++ e -- são unários e podem ser usados como prefixo ou posfixo para uma variável.
Exemplo de operadores de incremento e decremento
O exemplo a seguir contém várias instruções que demonstram o uso de operadores de incremento e decremento com diferentes variações -
04Saída
Quando você executa este código, ele produzirá a seguinte saída -
13Exemplo de explicação
Em outras palavras, "a++" tem o mesmo efeito que "++a", pois ambas as expressões incrementam o valor da variável "a" em 1. Da mesma forma, "a--" tem o mesmo efeito que "--a".
A expressão "a++;" pode ser tratado como equivalente à afirmação "a =a + 1;". Aqui, a expressão à direita adiciona 1 a “a” e o resultado é atribuído novamente a 1, assim o valor de “a” é incrementado em 1.
Da mesma forma, "b--;" é equivalente a "b =b 1;".
Tipos de operador de incremento
Existem dois tipos de operadores de incremento – pré-incremento e post incremento .
Operador de pré-incremento (prefixo)
Numa expressão, o operador de pré-incremento aumenta o valor de uma variável em 1 antes da utilização do valor da variável.
Sintaxe
21Exemplo
No exemplo a seguir, estamos utilizando um operador de pré-incremento, onde o valor de “x” será aumentado em 1, e então o valor aumentado será utilizado na expressão.
35
Quando você executa este código, ele produzirá a seguinte saída -
43Operador de incremento pós (Postfix)
Numa expressão, o operador pós-incremento aumenta o valor de uma variável em 1 após a utilização do valor da variável.
Sintaxe
51Exemplo
No exemplo a seguir, estamos utilizando o operador pós-incremento, onde o valor de “x” será utilizado na expressão e depois será aumentado em 1.
64
Quando você executa este código, ele produzirá a seguinte saída -
76Tipos de operador de decremento
Existem dois tipos de operadores de decremento – pré-decremento e pós-decremento .
Operador de pré-decremento (prefixo)
Em uma expressão, o operador de pré-decremento diminui o valor de uma variável em 1 antes de usar o valor da variável.
Sintaxe
83Exemplo
No exemplo a seguir, estamos usando um operador de pré-decremento, onde o valor de “x” será diminuído em 1, e então o valor diminuído será usado na expressão.
93
Quando você executa este código, ele produzirá a seguinte saída -
100Operador de decremento pós (Postfix)
Numa expressão, o operador pós-decremento diminui o valor de uma variável em 1 após a utilização do valor da variável.
Sintaxe
118Exemplo
No exemplo a seguir, estamos utilizando o operador pós-decremento, onde o valor de “x” será utilizado na expressão e depois será diminuído em 1.
123
Quando você executa este código, ele produzirá a seguinte saída -
137Mais exemplos de operadores de incremento e decremento
Exemplo 1
O exemplo a seguir destaca o uso de incremento/decremento de prefixo/postfix -
140Saída
Quando você executa este código, ele produzirá a seguinte saída -
152
O exemplo acima mostra que os operadores prefixo e pós-fixo têm o mesmo efeito no valor da variável operando. Entretanto, quando esses operadores “++” ou “--” aparecem junto com os outros operadores em uma expressão, eles se comportam de maneira diferente.
Exemplo 2
No código a seguir, os valores iniciais das variáveis "a" e "b" são iguais, mas a função printf() exibe valores diferentes -
169Saída
Execute o código e verifique sua saída -
172
No primeiro caso, a função printf() imprime o valor de “x” e depois incrementa seu valor. No segundo caso, o operador de incremento é executado primeiro, a função printf() usa o valor incrementado para impressão.
Precedência de operadores de incremento e decremento
Existem vários operadores em C. Quando vários operadores são usados em uma expressão, eles são executados de acordo com sua ordem de precedência. Os operadores de incremento e decremento se comportam de maneira diferente quando usados junto com outros operadores.
Quando uma expressão consiste em operadores de incremento ou decremento juntamente com outros operadores, as operações de incremento e decremento são executadas primeiro. Os operadores de incremento e decremento pós-fixados têm maior precedência do que os operadores de incremento e decremento de prefixo.
Leia também: Precedência do Operador em C
Exemplo 1
Dê uma olhada no exemplo a seguir -
189Saída
Execute o código e verifique sua saída -
190
Como "x++" aumenta o valor de "x" para 6, você esperaria que "z" também fosse 6. No entanto, o resultado mostra "z" como 5. Isso ocorre porque o operador de atribuição tem uma precedência maior sobre o operador de incremento pós-fixado. Portanto, o valor existente de “x” é atribuído a “z”, antes de incrementar “x”.
Exemplo 2
Dê uma olhada em outro exemplo abaixo -
205Saída
Quando você executa este código, ele produzirá a seguinte saída -
213
O resultado pode ser confuso, pois o valor de "y" e também de "z" agora é 6. A razão é que o operador de incremento de prefixo tem uma precedência mais alta do que o operador de atribuição. Conseqüentemente, “y” é incrementado primeiro e então seu novo valor é atribuído a “z”.
A associatividade dos operadores também desempenha um papel importante. Para operadores de incremento e decremento, a associatividade é da esquerda para a direita. Portanto, se houver vários operadores de incremento ou decremento em uma única expressão, o operador mais à esquerda será executado primeiro, movendo-se para a direita.
Exemplo 3
Neste exemplo, a expressão de atribuição contém os operadores prefixo e pós-fixo.
222Saída
Execute o código e verifique sua saída -
231
Neste exemplo, a primeira operação a ser feita é “y++” (“y” passa a ser 6). Em segundo lugar, o operador "+" adiciona "x" (que é 5) e "y", o resultado atribuído a "z" como 11, e então "x++" incrementa "x" para 6.
Usando o operador de incremento em loop
Em C, a sintaxe mais comumente usada de um loop for é a seguinte -
245Exemplo
O corpo do loop é executado para todos os valores de uma variável entre os valores inicial e final, incrementando-a a cada rodada.
254Saída
Quando você executa este código, ele produzirá a seguinte saída -
269
Entrevista PowerShell 2026:40 perguntas e respostas de especialistas para o sucesso Inicialização fácil de array de ponteiros em C:dicas e práticas recomendadas
Linguagem C