modernc.org/99c@v1.0.1-0.20181109153923-a9e8197063d9/examples/prof/fib.c (about)

     1  #include <stdlib.h>
     2  #include <stdio.h>
     3  
     4  int fib(int n)
     5  {
     6  	switch (n) {
     7  	case 0:
     8  		return 0;
     9  	case 1:
    10  		return 1;
    11  	default:
    12  		return fib(n - 1) + fib(n - 2);
    13  	}
    14  }
    15  
    16  int main(int argc, char **argv)
    17  {
    18  	if (argc != 2) {
    19  		return 2;
    20  	}
    21  
    22  	int n = atoi(argv[1]);
    23  	if (n <= 0 || n > 40) {
    24  		return 1;
    25  	}
    26  
    27  	printf("%i\n", fib(n));
    28  }