C/Visual C - problemas en una funcion

 
Vista:

problemas en una funcion

Publicado por blaster (22 intervenciones) el 15/02/2002 22:40:36
Buenas.
Estoy aprendiendo el manejo de las funciones leyendo un manual de la página: http://www.elrincondelc.com , en una de sus contenidos dice:

Consiste en definir después de las variables las cabeceras de las funciones, sin escribir su código. Esto nos permite luego poner las fucniones en cualquier orden. Ejemplos:

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

void compara( int a, int b ); /* Definimos la cabecera de la función */

int main()
{
int num1, num2;
int resultado;

printf( "Introduzca dos números: " );
scanf( "%i %i", num1, num2 );

resultado = compara( num1, num2 );
printf( "El mayor de los dos es %i\n", resultado );
}

int compara( int a, int b ) /* Ahora podemos poner el cuerpo de la función donde queramos. */
/* Incluso después de donde la llamamos (main) */
{
int mayor;
if ( a>b )
mayor = a;
else mayor = b;

return mayor;
}

------------------------------------
Pero a mi esto no me compila correctamente, me da errores, tambien lo intente de otra forma mucho mas sencilla:

#include <stdio.h>

void saludo()
int main()
{
saludo();
}
int saludo();
{ printf("Hola");
}

Y claro, esto no compila, ya se existen otras formas de usar las funciones, pero a mi me interesa como bien dice el texto: definir después de las variables las cabeceras de las funciones, sin escribir su código. Esto nos permite luego poner las fucniones en cualquier orden.

Muchas gracias a todos y un saludo.
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:problemas en una funcion

Publicado por Ismael (230 intervenciones) el 15/02/2002 23:52:49
Aqui esta el código corregido y compilando bien:
Un saludo
Ismael
#include <stdio.h>
#include <conio.h>
//la funcion debe devolver un valor si queremos imprimir el resultado en //main
int compara( int a, int b ); /* Definimos la cabecera de la función */

int main()
{
int num1, num2;
int resultado;

printf( "Introduzca dos números: " );
scanf( "%i %i", &num1, &num2 ); //faltaban los &

resultado = compara( num1, num2 );
printf( "El mayor de los dos es %i\n", resultado );
getch(); getch();
}

int compara( int a, int b ) /* Ahora podemos poner el cuerpo de la función donde queramos. */
/* Incluso después de donde la llamamos (main) */
{
int mayor;
if ( a>b )
mayor = a;
else mayor = b;

return mayor;
}

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