Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: edwinmvr en 9 Marzo 2018, 03:30 am



Título: Problema con funciones en C
Publicado por: edwinmvr en 9 Marzo 2018, 03:30 am
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:

Código
  1. #include<stdio.h>
  2. int leer(int n1, int n2, int n3);//Portotipo para leer los tres numeros
  3. int condicional(int n1, int n2, int n3);//Condiciones que determinaran el numero de en medio
  4. int main(){
  5. int n1, n2, n3, med;
  6. n1, n2, n3 = leer(n1,n2,n3);
  7. med = condicional(n1,n2,n3);
  8. printf("\nEl numero de en medio es: %i\n", med);
  9.  
  10.  
  11. return 0;
  12. }
  13. //inicio de funcion para leer
  14. int leer(int n1, int n2, int n3){
  15.  
  16. printf("\nIngresa tres numeros: \n");
  17. scanf ("%i %i %i",&n1,&n2,&n3);
  18.  
  19. return n1, n2, n3;
  20. }
  21. int condicional(int n1, int n2, int n3){
  22. int med;
  23.  
  24. if(n1>n2 && n1<n3){
  25. med = n1;
  26. }else if(n1<n2 && n1>n3){
  27. med = n1;
  28. }else if(n2<n1 && n2>n3){
  29. med = n2;
  30. }else if(n2>n1 && n2<n3){
  31. med = n2;
  32. }else if(n3<n1 && n3>n2){
  33. med = n3;
  34. }else if(n3>n1 && n3<n2){
  35. med = n3;
  36. }
  37.  
  38.  
  39. return med;
  40. }
  41.  
  42.  


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Problema con funciones en C
Publicado por: MAFUS en 9 Marzo 2018, 07:18 am
C no retorna múltiples valores, solo uno.
Deberás pasar datos por referencia o hacer las variables n1, n2 y n3 globales.