View Single Post
Old 21-02-2011, 00:21   #1
toz
Senior Member
 
L'Avatar di toz
 
Iscritto dal: Apr 2000
Città: Teramo
Messaggi: 685
[C]Non ridete ,ho appena iniziato....

Allora, ho questo codice che non riesco ad interpretare...se qualcuno mi da una mano....
Codice:
#include <stdio.h>
int funz (int,int);
int main ()
{
	int a=10,b=12,t;
	t=funz(a,b);
	printf("t=%d\n\n",t);
	return 0;
}
int funz (int x,int y)
{
	if(y!=0)
	   return(y+funz(y,x%y));
    else
       return x;
}
L'ho fatto girare e mi risulata che il "printf" riporta t=26.
Le mie perplessita' sono : ma la "funz" in realta' non fa nulla?Perche' y(che sarebbe b?) e' diverso da 0,quindi dovrebbe uscire con il "return x" che si dovrebbe limitare a riportare il valore di a cosi' come dichiarato nella main.
Ma allora il valore di t=26 da cosa e' dato,cioe' t=funz(a,b) che calcoli esegue ?
Grazie.
__________________
Se c'è una soluzione,perchè t'arrabbi?
Se non c'è soluzione,perchè t'arrabbi?

Nuova gloria risplende suoi tuoi circuiti o mia Kt7-a.....per sempre,nei secoli dei secoli....
http://www.zotbox.net
toz è offline   Rispondi citando il messaggio o parte di esso