¿Pregunta de C++, Ciclo FOR?

Iniciado por Zodiak98, 31 Marzo 2013, 16:56 PM

0 Miembros y 1 Visitante están viendo este tema.

Zodiak98

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:

siberwolf

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... ¬¬)

85

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.
Me cerraron el Windows Live Spaces, entonces me creé un WordPress XD
http://etkboyscout.wordpress.com/

zonahurbana

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:
Código (cpp) [Seleccionar]
for (x=0;x<5;++x){/* Instrucciones */}
Código (cpp) [Seleccionar]
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.
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...