UMBC CS 201, Fall 98
UMBC CMSC 201 & 201H Fall '98 CSEE | 201 | 201 F'98 | lectures | news | help

Fib with command-line arguments

A recursive function for fibonacci with command-line args.

fib3.c

/* File: fib3.c * * A recursive function for fibonacci with * command-line args. */ #include <stdio.h> int Fib (int n, int depth); void Indent (int depth); main (int argc, char *argv[]) { int n; /* check that (1) only one arg (2) which is an integer and (3) non-negative. */ if (argc == 2 && 1 == sscanf(argv[1], "%d", &n) && n > -1) { Fib (n, 0); } else { printf("Usage: Fib <positive integer>\n"); } } int Fib (int n, int depth) { int result; Indent (depth); printf("fib(%d)\n", n); if (n < 2) { result = 1; } else { result = Fib (n - 1, depth + 1) + Fib (n - 2, depth + 1); } Indent (depth); printf("%d\n", result); return (result); } void Indent (int depth) { int i; for (i = 0; i < depth; i++) { printf("| "); } }

Output

% cc201 fib3.c % mv a.out fib % fib 4 fib(4) | fib(3) | | fib(2) | | | fib(1) | | | 1 | | | fib(0) | | | 1 | | 2 | | fib(1) | | 1 | 3 | fib(2) | | fib(1) | | 1 | | fib(0) | | 1 | 2 5 % fig -4 fig: Command not found. % fib -4 Usage: fib <positive integer> % fib foo Usage: fib <positive integer> % fib 2 3 4 Usage: fib <positive integer> % fib 2 fib(2) | fib(1) | 1 | fib(0) | 1 2


CSEE | 201 | 201 F'98 | lectures | news | help

Sunday, 06-Dec-1998 18:07:09 EST