Para a = 1 e b = 2 a func(1, 2) ir� retornar 2!
A primeira vez em que a fun��o � chamada, ela passa pelo if, b � diferente
de um ent�o ela
deve retornar o valor de a + func(1, 1).
O valor de a � empilhado e � chamada a fun��o novamente, com os valores a =
1 e b = 1.
Como b desta vez � igual a um, ela retorna o valor de a = 1, que �
finalmente somado com
o a = 1 que tinha ficado esperando...
N�o � dif�cil de entender, pense que a fun��o que voc� est� chamando �
outra fun��o
qualquer, pois numa chamada recursiva, � o que acontece: � alocado toda uma
nova
mem�ria para cada chamada.
S� tenha cuidado, pois se o valor que voc� estiver passando como b nunca
chegar a
1, o programa trava, pois � infinito.
Falou.
/***************************************************************
Emilio Eiji Yamane
3� ano Ci�ncia da Computa��o - Din - UEM
icq 150217443
^_^ Liberte-se!!! ^_^
***************************************************************/
>public int func (int a, int b)
>{
> if (b == 1)
> return a;
> else
> return a + func (a, b - 1)
>}
>
>Assumam valores de a = 1 e b = 2. Se poss�vel, expliquem como vcs
>conseguiram chegar a alguma solu��o.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------