Alfredo, Tentando trazer � tona meus parcos conhecimentos de programa��o sem estar ao lado de um livro ou apostila, a sua rotina abaixo s� corretamente vai funcionar se o x e y forem vari�veis externas a main(), e obviamente se vc retirar as vari�veis locais x e y em alternar().
Observe que na sua rotina voc� est� apenas "trocando" as vari�veis x e y internas a alternar e, quando voc� retornar a rotina principal elas ser�o "destru�das". Qualquer coisa **mail-me**. Se eu estiver errado por favor me corrijam. Carlos Thadeu Niter�i-RJ -----Mensagem original----- De: apsantos [mailto:[EMAIL PROTECTED] Enviada em: Sexta-feira, 14 de Mar�o de 2003 09:54 Para: [EMAIL PROTECTED] Assunto: OFF-Topic. S� para quem usa C e se disp�e a esclarecer d�vidas simples. Pessoal Gostaria de saber porque a rotina abaixo n�o funciona para alternar o valor de duas vari�veis, /* Programa troca0.c A rotina alternar n�o funciona, o que s� ocorrer� com o uso de ponteiros. Veja-se troca1.c */ main() { int x, y; x = 5; y = 7; printf("Valor de a: %d\n", x); printf("Valor de b: %d\n", y); alternar(x, y); printf("\nDepois da troca\n"); /* N�o ocorre a troca */ printf("Valor de a: %d\n", x); printf("Valor de b: %d\n", y); } alternar(x, y) int x, y; { int temp; temp = x; x = y; y = temp; } Assinantes em 14/03/2003: 2224 Mensagens recebidas desde 07/01/1999: 204246 Historico e [des]cadastramento: http://linux-br.conectiva.com.br Assuntos administrativos e problemas com a lista: mailto:[EMAIL PROTECTED]
