unsigned int
factorielle (unsigned int n)
{
unsigned int i = 1, res = 1;
while (i n)
res = res * i++;
return res;
}
qui calcule la factorielle de n de façon itérative. On
placera le source de ce programme dans le fichier source
factorielle.c.
% gcc -g -Wall -Werror -ansi -pedantic -o factorielle factorielle.c
indique que dans la fonction factorielle du fichier source factorielle.c, il y a une erreur. C'est une erreur de syntaxe à la ligne 6 (while (i n)) où il manque un opérateur entre i et n. La seconde erreur est une admonestation (warning) à la ligne 11 (main()), où le type retourné par la fonction main a été fixé par défaut à int. Lisez donc toujours bien les messages d'erreurs.% gcc -g -Wall -Werror -ansi -pedantic -o factorielle factorielle.c factorielle.c: In function `factorielle': factorielle.c:6: parse error before `n' cc1: warnings being treated as errors factorielle.c: At top level: factorielle.c:11: warning: return-type defaults to `int'
% factorielle 362880