C/Visual C - Incrementos y decremento

 
Vista:

Incrementos y decremento

Publicado por PUN (3 intervenciones) el 09/09/2005 05:01:37
Hola

Yo conocía que se podían hacer cosas como A++, B--, etc, pero esto si que no sé para que es:
Por ejemplo

C = Palabra[--Indice];

Aquí hay dos cosas que no sé. ¿Por qué el "--" viene antes del nombre?

Si la instrucción estuviese escrita como C = Palabra[Indice--]; sería equivalente a cual de estas dos:

1.-
Indice--;
C = Palabra[Indice];

2.-
C = Palabra[Indice];
Indice--;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 11
Ha aumentado su posición en 5 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

RE:Incrementos y decremento

Publicado por zzzz (318 intervenciones) el 13/09/2005 03:36:37
Hi! correspone a la segunda opción, los ++ o -- dependidendo del lugar es lo que van a hacer, si lo pones un -- antes de la variable, significa que vas a decrementar la variable y ese valor es el que vas a usar , y si lo pones despues significia que usas el valor de la variable y luego lo decrementas.
Ejemplo:
c=5;
a=--c; //a=4; c=4;
a=c--; //a=4; c=3;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Incrementos y decremento

Publicado por El Mogur (202 intervenciones) el 14/09/2005 05:52:56
Basicamente el i++ se llama "post-incremento", porque el valor de la expresion (i++) es el valor de i al principio, y tiene como "efecto lateral" el incremento de i.

Por su parte, ++i es el "pre-decremento", porque el valor de la expresion es el valor de i+1, y ademas, la evaluacion de la expresion tiene como "efecto lateral" el incremento de i.

De todas formas, no conviene abusar mucho de los incrementos y decrementos, y su uso deber'ia quedar relegado a expresiones en los que no aparece nada m'as. Quiero recordar esta caracter'isticas se anyadi'o al lenguaje para facilitar el incremento en los for (aunque no estoy seguro eh? ;) ).

Por ejemplo, qu'e hace la siguiente l'inea?

a[i++] = b[i++]:

En realidad, depende de la implementaci'on. Muchos podemos pensar que lo que hace es:

a[i] = b[i];
i = i + 2;

Pero bien podr'ia hacer:

a[i+1] = b[i];
i = i + 1;

Asi que cuidadito con los ++ y los --

:)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar