--

Operador de decremento, este operador, derivado del lenguaje C, permite decrementar el valor de un dato (restarle 1), sin requerir para ello una sentencia de asignación.

El dato puede ser una variable, una posición de una tabla, o bien un campo de una estructura.

Este operador se puede incluir dentro de una expresión en dos modalidades: predecremento y postdecremento.

Operador de predecremento

Cuando se ponga el símbolo -- justo delante de un dato, se le restará 1 al mismo antes de ejecutar la sentencia, por ejemplo, véanse las siguientes sentencias:

--x; - sentencia que restará 1 a la variable x.

z=--x+y; - sentencia que restará 1 a la variable x y después asignará a la variable z la suma de x (ya decrementada) e y.

Operador de postdecremento

Cuando se ponga el símbolo -- justo detrás de un dato, se le restará 1 al mismo tras ejecutar la sentencia, por ejemplo, véanse las siguientes sentencias:

x--; - sentencia que restará 1 a la variable x.

z=x+y--; - sentencia que asignará la suma de x más y a la variable z, y después decrementará la variable y.


Resumen:

En general, una sentencia del tipo --dato; o dato--; siempre equivalente a la siguiente sentencia: dato=dato-1; (o bien dato-=1;).

La diferencia entre el predecremento y el postdecremento es que en el primero se toma el valor del dato ya decrementado para evaluar el resto de la expresión, y en el segundo se evalúa la expresión con el valor que tenía el dato antes de ser decrementado.


Ver: Sintaxis - Expresión - Incremento(++)