k++; ++k;
Hola, saludos a todos.
Hay alguna diferencia entre
k++; ++k;
Gracias y suerte.
Hay alguna diferencia entre
k++; ++k;
Gracias y suerte.
Hola Juan , sí que hay diferencia , pero es normal ke te lo preguntes.
Te lo explico con un ejemplo :
tenemos un array de enteros por ejemplo
int vector[20];
si hacemos: var=vector[k++]; estamos accediendo a la posicion k del vector y luego incrementamos k.
Pero si ponemos : var=vector[++k]; incrementamos k y luego accedemos a la posicion del vector nueva , ke será en este caso k+1.
En resumen:
k++ -> evaluamos primero y luego incrementamos.
++k -> incrementamos primero y luego evaluamos.
Espero que te haya kedado claro.
Suerte.
Te lo explico con un ejemplo :
tenemos un array de enteros por ejemplo
int vector[20];
si hacemos: var=vector[k++]; estamos accediendo a la posicion k del vector y luego incrementamos k.
Pero si ponemos : var=vector[++k]; incrementamos k y luego accedemos a la posicion del vector nueva , ke será en este caso k+1.
En resumen:
k++ -> evaluamos primero y luego incrementamos.
++k -> incrementamos primero y luego evaluamos.
Espero que te haya kedado claro.
Suerte.
Las dos expresiones son equivalentes respecto del valor final de la variable... pero de todas maneras podrían no serlo en cuanto a las variables en el contexto de expresion, es decir como interactúan con otras variables dentro de una expresión.
Por ejemplo:
int a,b;
a=10;
//CASO 1
b=a++; //b=10 y a=11
//CASO 2
b=++a; //b=11 y a=11
Como podrás observar en el primer caso el compilador asigna a 'b' el valor de 'a' y luego le suma uno a 'a'. Pero en el segundo caso el compilador encuentra los "++" entonces se los agrega a la variable 'a' y a ese resultado se lo pone en 'b'
Por ejemplo:
int a,b;
a=10;
//CASO 1
b=a++; //b=10 y a=11
//CASO 2
b=++a; //b=11 y a=11
Como podrás observar en el primer caso el compilador asigna a 'b' el valor de 'a' y luego le suma uno a 'a'. Pero en el segundo caso el compilador encuentra los "++" entonces se los agrega a la variable 'a' y a ese resultado se lo pone en 'b'
