17/12/10 17:17
Pitagora
#include <stdio.h> int fact (int); int main (void) { int x = 3; printf("%d! = %d (%d)\n", x, fact(x), x); fgetc(stdin); return 0; } int fact (int y) { if (y == 0 || y == 1) { return 1; /* è questo il vero valore che dovrà tornare quando y == ... però non è così Why? */ } else { return y * fact(y - 1); } }
Perchè fact(3) torna un valore uguale a 6 invece di un valore uguale ad 1 come è indicato nella 2° riga a partire dalla funzione fact
aaa