/* Fibonacci value of a number */

#include <stdio.h>

int fib(int num)
{
  switch(num) {
   case 0: return(0); break;
   case 1: return(1); break;
   default:  /* Including recursive calls */
    return(fib(num - 1) + fib(num - 2));
    break;
  }
}

int main(int argc, char *argv[])
{
  unsigned int num;
  printf("Enter a non-negative integer: ");
  if (scanf("%u", &num) != 1) {
    printf("ERROR: failed to read the integer!\n");
    return -1;
  }
  printf("Fibonacci of %d is %d\n", num, fib(num));
  return 0;
}
