Alfredo, A sua primeira rotina n�o funciona, porque a fun��o n�o pode modificar vari�veis que foram declaradas fora dela. Ela pode trabalhar com os valores sim, mas n�o afetar� nas vari�veis diretamente, a n�o ser que voc� passe os par�metros como ponteiros, como voc� fez no segundo exemplo (n�o sou muito bom em C, me corrijam se eu tiver falado besteira) atrav�s do s�mbolo &. Veja:
> alternar(&x, &y); Note que na fun��o, as vari�veis devem ser declaradas como ponteiros tamb�m (utilizando o s�mbolo *): (novamente me corrijam se houver erros) > int *x, *y; Ah, n�o sei se sua primeira abordagem funcionaria em outras linguagens n�o hein.. no PHP por exemplo j� n�o funcionaria.. (o PHP � neto do C) Espero ter esclarecido sua d�vida. D� uma passadinha na prog-br.. l� o pessoal � mais especializado e pode te informar melhor sobre C. http://listas.conectiva.com.br At� mais Renato Q. Todorov Webmaster Jet Sites <[EMAIL PROTECTED]> On Fri, 2003-03-14 at 12:53, apsantos wrote: > Pessoal > > Gostaria de saber porque a rotina abaixo n�o funciona para alternar o > valor de duas vari�veis, > e a que vem logo a seguir sim. Em outras linguagens, como Pascal ou > Fortran, essa mesma abordagem funcionaria. Ser� isso devido � alguma > caracter�stica do C no que se refere ao uso da mem�ria ou as outras > linguagens agem da mesma forma, por�m as coisas se passando como se > fossem diferentes? > > Desculpem-me o que para muitos seja uma quest�o ing�nua, mas � que > realmente eu queria entender esse ponto. > Sugest�es de sites ou textos onde essas quest�es possam ser esclarecidas > ser�o bem vindas. > > Obrigado desde j�. > > Alfredo Assinantes em 14/03/2003: 2228 Mensagens recebidas desde 07/01/1999: 204223 Historico e [des]cadastramento: http://linux-br.conectiva.com.br Assuntos administrativos e problemas com a lista: mailto:[EMAIL PROTECTED]
