Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Zodiak98 en 31 Marzo 2013, 16:56 pm



Título: ¿Pregunta de C++, Ciclo FOR?
Publicado por: Zodiak98 en 31 Marzo 2013, 16:56 pm
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:


Título: Re: ¿Pregunta de C++, Ciclo FOR?
Publicado por: siberwolf en 31 Marzo 2013, 18:05 pm
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... ¬¬)


Título: Re: ¿Pregunta de C++, Ciclo FOR?
Publicado por: 85 en 31 Marzo 2013, 18:34 pm
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.


Título: Re: ¿Pregunta de C++, Ciclo FOR?
Publicado por: zonahurbana en 1 Abril 2013, 17:03 pm
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
  1. for (x=0;x<5;++x){/* Instrucciones */}
Código
  1. int x=0;
  2. while(x<5)
  3.  {/* Instrucciones */
  4.    ++x;
  5.  }

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.