// External Function (prototype) printf(fmt, args); atoi(str); // factorial function fact(n) { if (n == 0) return 1; else return n*fact(n-1); } // Main routine main(argc, argv) { var n; if (argc < 2) { printf("usage: facto n\n"); return 1; } n = atoi(argv[1]); printf("%d! = %d\n", n, fact(n)); return 0; }