/* Generar los N primeros términos de la serie de Fibonacci, utilizando para ello una función en las que se trabaja con variables estáticas.*/

#include <stdio.h>

long int fibonacci(int);

void main()
{
  int n,cont;
  printf("\n Cuántos números de Fibonacci??");
  scanf("%d",&n);
  for(cont=1;cont<=n;cont++)
       printf("\ni=%2d\t F=%ld",cont,fibonacci(cont));
}

long int fibonacci(int cont)
{
  static long int f1=1,f2=1; // Se inicializan en la primera llamada a la función.
  long int f;
  f=(cont<3)?1:f1+f2;    // if (cont<3) f=1; else f=f1+f2; 
  f2=f1;                           // se denomina operador condicional
  f1=f;
  return f;

d VOLVER