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.
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


0