Creo que hay errores de concepto en el programa.
Como dice carbon, una función solo retorna un valor.
Así que ésta expresión:
Código C++:
Ver originalfloat hazlo (float a, float b,float c)
{
return a;
return b;
return c;
}
sólamente retornará el primer valor.
¿Por qué has conseguido que te funcione la función?
Cuando hablamos de parámetros, no hay una identificación del parámetro por nombre, sino por posición.
Entonces, cuando haces una llamada a la función así:
la variable
char a de la función principal (main) pasa a ser el parámetro
float a de la función con la firma:
Código C++:
Ver originalfloat hazlo (float a, float b,float c);
cuando haces:
pues igualmente, ahora
char b es
float a en la función
e igualmente
hace que
char c sea
float a
Como ves, lo único que has hecho es 3 llamadas a la función, cambiando la posición de las variables, y la función sólo te va a retornar el primer valor. Y eso no tiene mucho sentido, porque ingresas 3 variables como argumento, de la cual sólo te evalúa una.
Es como si hubieras hecho así:
Y luego las llamadas a la función fueran así:
Obtendrías el mismo resultado.