Tengo una duda sobre el ciclo for, cual es la diferencia de hacer un incremento en el ciclo asi:
for (x=0;x<5;x++)
y otro asi:
for (x=0;x<5;++x)
Ya se que el primero es prefijo primero usa la variable y luego le suma 1, y el segundo es sufijo que es lo contrario de prefijo primero le suma uno a la variable y luego la utiliza.
O es que el primero ve cuanto vale la variable, luego mira la condicion, si la condicion es verdadera la ejecuta y luego es que incrementa la variable y no hay diferencia en hacerlo asi "x++" y asi "++x".
:huh:
no hay diferencia en esa sentencia ya que la controla el while atras.... si fuese en una sentencia asi x += ++i primero incrementa "i" y luego suma "i+1" a "x" .... x += i++ primero suma "i a x", luego incrementa en +1 "i"....entiendes??xD sino te explico con numeritos x=2:i=3 1) 2+=++3 primero suma 1+3 = 4 y lo suma al 2 =6
x termina saliendo 6 y i con 2
2) 2+=3++ primero suma 3+2 =5 y despues aumenta 3+1
x sale con 5 y i con 4
me explico...cualquier cosa preguntame (y yo que deje programacion en el segundo cuatrimestre T.T por culpa de las materias del cole d mier... ¬¬)
Operadores de PRE-Incremento y POST-Incremento.
La diferencia es que en el PRE-Incremento primero se incrementa y luego se opera, son dos pasos.
En el POST-Incremento primero se opera y luego se incrementa.
Es según la comodidad o tus necesidades, para con el objeto en cuestión, que puede ser una variable, un puntero, y básicamente esos.
Es cierto todo lo que te comentan.
En este caso no hay diferencia alguna, porque el for tiene más o menos esta aproximación:
for (x=0;x<5;++x){/* Instrucciones */}
int x=0;
while(x<5)
{/* Instrucciones */
++x;
}
Y como puedes ver, ++x o bien x++ se encontraría de manera independiente, por lo que, como no interactua con alguna otra expresión, no hay diferencia.