Qual é a diferença entre * k e * k

1. São duas variáveis ​​diferentes porque C possui identificadores que diferenciam maiúsculas de minúsculas.

2. Colocar o ++ antes do identificador significa incrementar a variável ANTES de executar qualquer instrução incorporada e colocar o ++ após o identificador significa incrementar a variável APÓS a execução da instrução incorporada. Se o incremento não estiver incorporado em um complexo declaração, o efeito é o mesmo, se você colocar o ++ antes ou depois.

Se você usar apenas o "k ++;" ou "++ k;", não há diferença.

Mas:

int a = k ++;

é diferente de

int a = ++ k;

Primeiro, atribuiremos o valor de k a e depois incrementaremos k; o segundo incrementará primeiro k, depois atribuirá esse novo valor a a. Diga k = 5, na primeira afirmação a será 5 e k será 6; no segundo, a será 6 e k também será 6.

Ambos incrementam o valor de K e são equivalentes se forem a única instrução, ou seja:

k ++;

tem o mesmo efeito de

++ k;

As coisas mudam quando fazem parte de uma declaração mais complexa. Seja k = 3 então

x = ++ k;

Após executar a instrução acima, k e x serão 4. Isso acontece porque k é incrementado * primeiro * e, em seguida, seu valor (4) é atribuído a x.

Por outro lado, depois de

x = k ++;

k é igual a 4 e x é igual a 3, porque o valor de k (3) é atribuído a x * primeiro * e, depois que a instrução é executada, o valor de k é incrementado para 4.

Além disso, deixe x = 0 e uma matriz 'arr', então

y = arr [x ++]; // y == arr [0] e x == 1

y = arr [++ x]; // y == arr [1] e x == 1

A diferença é quando o valor de K está aumentando.

O K ++ define que primeiro o valor será atribuído à variável K e que será aumentado.

++ K define que o valor será incrementado primeiro e depois atribui à variável K.

veja os exemplos:

  • K ++
  • int i = 0

    enquanto (i <5) {

    printf ("% d", i);

    i ++;

    }

    RESULTADO: 0 1 2 3 4

    • ++ K
    • int i = 0

      while (++ i <5) {

      printf ("% d", i);

      }

      retornar 0;

      RESULTADO: 1 2 3 4

É simples, sua pergunta é sobre pré-incremento e pós-incremento.

Pré-incremento e pós-incremento são operadores na linguagem C.

++ k: - isso é pré-incremento, significa que o valor da variável é incrementado primeiro para +1 e, em seguida, o resultado é impresso.

Por exemplo. Seja b = ++ k. Onde k = 4, então

b = 5. Como o primeiro 4 é incrementado para +1, ou seja, 5 e, em seguida, o resultado 5 é impresso.

K ++: - isto é pós-incremento, significa primeiro que o valor da variável é impresso e depois incrementado para +1.

Por exemplo. Seja b = k ++, onde k = 4.

b = 4, porque primeiro o valor é impresso, ou seja, 4 e depois incrementado para 5.

Por exemplo, final. Seja b = a ++, c = b + (++ a)

onde a = 3,

A solução é, b = 3, então o valor de a é incrementado para 4.

C = 3+ 5 = 8 (Resp), porque “a” foi pós-incrementado para 4 na primeira equação e depois na segunda equação, foi pré-incrementado para 5.