Profiling support added
* To use the benefits of profiling, set PROFILING=<target>
* eg: mbroeker@localhost $ make -e PROFILING=linux
* mbroeker@localhost $ export PROFILING=linux && make
committer: Markus Bröker <mbroeker@largo.homelinux.org>
/**
* test/demos/fak.c
* Copyright (C) 2008 Markus Broeker
*/
#include <stdio.h>
#include <stdlib.h>
unsigned long fak (short i)
{
if (i == 0)
return 1;
else if (i > 0)
return (i * fak (i - 1));
else
return (i * fak (i + 1));
}
int main (int argc, char **argv)
{
short number;
printf ("Enter a number: ");
if (scanf ("%hd", &number) != 1) {
printf ("READ ERROR\n");
return EXIT_FAILURE;
}
if (number < 0) {
printf ("NUMBER FORMAT ERROR\n");
return EXIT_FAILURE;
}
printf ("The faktorial of %d is %lu\n", number, fak (number));
return EXIT_SUCCESS;
}