Dev - C++ - alguien me puede decir porque sale este warning

   
Vista:

alguien me puede decir porque sale este warning

Publicado por Liliana Chavarria Salgado (4 intervenciones) el 11/03/2009 10:46:20
#include<stdio.h>
#include<math.h>

double hipotenusa (double,double);

main()

{
double h1,h2,h3;
h1=hipotenusa(3.0,4.0);
printf(" *La longitud de la hipotenusa h1=%1f",h1);
h2=hipotenusa(5.0,12.0);
printf(" *La longitud de la hipotenusa h2=%1f",h2);
h3=hipotenusa(8.0,15.0);
printf(" *La longitud de la hipotenusa h3=%1f",h3);

} ****AQUI EXACTAMENTE ME SALE EL WARNING PORQUE****

double hipotenusa(double a,double b)
{
return sqrt(a*a + b*b);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:alguien me puede decir porque sale este warning

Publicado por eduardo (26 intervenciones) el 15/03/2009 20:11:40
Cuando una función no tiene un valor de vuelta explícito, el compilador asume que devolverá un int.
Error: Tu función main() no devuelve nada.

Los prototipos de función son una parte fundamental de C/C++ son los que determinan la forma que tendrá la llamada a una función, tales como su valor de retorno, el número y el tipo de parámetros.

No sé si has incluido también los archivos de cabecera para el uso de algunas funciones de la biblioteca; stidio.h en este caso para printf().

Tu programa corregido tendría la siguiente forma:

#include <stdio.h>
#include <conio.h>

/* prototipo */
double hipotenusa( double a, double b );

/* la función main() comienza la ejecución del programa */
int main()
{
double h1, h2, h3;

h1 = hipotenusa(3.0, 4.0);

printf( " *La longitud de la hipotenusa h1=%1f ", h1 );

h2=hipotenusa(5.0, 12.0);

printf(" *La longitud de la hipotenusa h2=%1f ", h2);

h3=hipotenusa(8.0, 15.0);

printf(" *La longitud de la hipotenusa h3=%1f ", h3);

getch(); /* pausa */
return 0; /* indica terminación exitosa */

} /* fin de main() */

/* devuelve la hipotenusa del T.Rectángulo */
double hipotenusa( double a, double b )
{
return sqrt(a*a + b*b);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar