Linda descripción de función =) Puedo dejar un ejemplo que acabo de crear para esto, así se puede llegar a entender un poco más =)
************************************************** *
Código:
#include<stdio.h>
#include<windows.h>
int cuenta=1;
int factorial(int fact) /*funcion FACTORIAL*/
{
int i;
for (i=1;i<=fact;i++)
{
cuenta=cuenta*i;
}
return cuenta;
}
int main() /*funcion MAIN*/
{
int numero,resultado;
printf("Se calculara el factorial de un numero.\n\n");
printf("Ingrese el numero que desee: ");
scanf("%d",&numero);
resultado=factorial(numero);
printf("El resultado es %d.\n\n",resultado);
system("pause");
}
************************************************** ****
Código:
#include<stdio.h>
#include<windows.h>
int factorial() /*funcion FACTORIAL*/
{
int i,fact;
long cuenta=1;
printf("ingrese un numero, y se hara su factorial: ");
scanf("%i",&fact);
fflush(stdin);
for (i=1;i<=fact;i++)
{
cuenta=cuenta*i;
}
printf("\nEl numero es %i\n\n",cuenta);
system("pause");
}
int main() /*funcion MAIN*/
{
factorial();
}
************************************************** *******
He dado dos formas de realizar lo mismo. En ambas generé una función llamada factorial, que devuelve (valga la redundancia) el factorial del numero ingresado. Se puede observar claramente que lo que se ejecuta al iniciar el programa es la funcion
MAIN. Vean que en el segundo caso, la única instrucción es
factorial(), es decir, inicia el programa y ejecuta esa función. En el segundo caso hace todo un preludio, se graba el número ingresado en
numero y luego este valor entra COMO ARGUMENTO en
factorial(int fact). Una vez que ejecuta la cuenta, devuelve un valor (el factorial del número ingresado) y lo guarda en una variable llamada
cuenta. Esta variable es GLOBAL, es la forma de pasar un valor de una función a otra =)
En fin, espero que les sirva!!
Saludos.