/* * compute n! * * * Matt Bishop, ECS 36A, Fall 2019 * version 1.1: added error handling */ #include int nfact(int n) { int x; if (n == 0) return(1); x = nfact(n-1); return(n * x); } int main(int argc, char *argv[]) { int n; if (argc != 2 || sscanf(argv[1], "%d", &n) != 1){ fprintf(stderr, "Usage: %s [ number ]\n", argv[0]); return(1); } if (n >= 0) printf("%d! = %d\n", n, nfact(n)); else{ fprintf(stderr, "n! is only defined for non-negative integers\n"); return(1); } return(0); }