Isso é um comportamento indefinido em C? [duplicado
Esta pergunta já tem uma resposta aqui:
omportamento indefinido e pontos de sequênc 5 respostasor que essas construções usam um comportamento indefinido pré e pós-increment 14 respostasEstou executando meu código C no gcc para entender o operador de pré / pós incremento. No entanto, os resultados que vejo não são o que eu esperava. Como na linha 6, já que eu tenho 5 anos, deveria ter sido
8 7 6 5 5
Mas isso é8 7 6 5 8
Em seguida, chegando à última linha, exibe14 14 14 14
. Alguém por favor pode explicar esse comportamento. Eu esperava14 14 13 12
Este compilador depende? A função da função printf nos pontos de sequência não está definida?
#include <stdio.h>
int main()
{
i = 5;
printf("%d %d %d %d %d \n", i, i++, i++, i++, i);
printf("%d \n", ++i);
printf("%d \n", ++i);
printf("%d \n", ++i);
printf("%d %d %d %d \n", i, ++i, ++i, ++i);
}