Duplicar posible:
confused about printf() that contains prefix and postfix operators.printf usando la pila?
me encontré con un código con el siguiente fragmento,
int main() {
int c = 100;
printf("\n %d \t %d \n", c, c++);
return 0;
}
que la producción debería ser de 100 & 101 pero me da salida como
101 100
¿Alguien podría ayudarme a saber por qué?
Supongo que el código está evaluando los parámetros printf en orden inverso, por lo que la c del parámetro "C++" se inserta primero, luego se inserta el parámetro c anterior, que luego ya está incrementado. Si desea hacer 1 más c para el segundo valor, e incrementar también c, supongo que tendrá que usar printf ("\ n% d \ t% d \ n", c, c + 1); C++; –