[C con Clase] Duda con funcion (parámetros de entrada)

Salvador Pozo salvador en conclase.net
Dom Feb 5 16:13:56 CET 2012


Hola:

Por lo que parece no has captado correctamente el funcionamiento de los parámetros con valores por defecto.

Los valores por defecto sólo se usan para los parámetros que se omiten en la llamada a la función, empezando por el final.

Por ejemplo, si se invoca con dos parámetros:

area = AreaCubo(largo, ancho);

Los valores de los dos primeros parámetros se toman de los indicados: el valor de "largo" para el primer parámetro, y el de "ancho" para el segundo.

El tercer parámetro tomará el valor por defecto, es decir, 1.

Si se invoca con un parámetro:

area = AreaCubo(largo);

El valor del primer parámetro se toma del indicado: "largo". Los otros dos toman los valores por defecto para el segundo y tercer parámetro: 25 y 1.

El problema es que has definido variables para usar como parámetros, pero sólo para ancho y alto has indicado un valor inicial, dejando el valor de largo sin definir.

Así, en todas las llamadas donde indiques el valor del primer parámetro con la variable largo, que contiene basura, el resultado será impredecible.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


Más información sobre la lista de distribución Cconclase