Problema con funciones en C

Iniciado por edwinmvr, 9 Marzo 2018, 03:30 AM

0 Miembros y 1 Visitante están viendo este tema.

edwinmvr

Estaba haciendo un codigo en c sobre de 3 numeros encontrar el de en medio, pero al ingresar valores siempre me dice que el numero de en medio es 1, sin importar los numeros ingresados, agradeceria que me dijeran en que me equivoque
Mi codigo:

#include<stdio.h>
int leer(int n1, int n2, int n3);//Portotipo para leer los tres numeros
int condicional(int n1, int n2, int n3);//Condiciones que determinaran el numero de en medio
int main(){
int n1, n2, n3, med;
n1, n2, n3 = leer(n1,n2,n3);
med = condicional(n1,n2,n3);
printf("\nEl numero de en medio es: %i\n", med);


return 0;
}
//inicio de funcion para leer
int leer(int n1, int n2, int n3){

printf("\nIngresa tres numeros: \n");
scanf ("%i %i %i",&n1,&n2,&n3);

return n1, n2, n3;
}
int condicional(int n1, int n2, int n3){
int med;

if(n1>n2 && n1<n3){
med = n1;
}else if(n1<n2 && n1>n3){
med = n1;
}else if(n2<n1 && n2>n3){
med = n2;
}else if(n2>n1 && n2<n3){
med = n2;
}else if(n3<n1 && n3>n2){
med = n3;
}else if(n3>n1 && n3<n2){
med = n3;
}


return med;
}




· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex

MAFUS

C no retorna múltiples valores, solo uno.
Deberás pasar datos por referencia o hacer las variables n1, n2 y n3 globales.