#include #include // Declaracao das Sub-Rotinas: Cabecalho void troca_valores (double *, double *); // Descricao das Sub-Rotinas: Definicao // Parâmetros passados por Referência void troca_valores (A, B) double *A, *B; { double temp; temp = *A; *A = *B; *B = temp; } // // PROGRAMA PRINCIPAL // int main(int argc, char *argv[]) { double valor1,valor2; // Entrada de Dados printf ("Digite o valor1: "); scanf ("%lf",&valor1); printf ("Digite o valor2: "); scanf ("%lf",&valor2); printf ("\nANTES da troca...\n"); printf ("Valor1 = %.4lf\n",valor1); printf ("Valor2 = %.4lf\n",valor2); // Chamada da Sub-rotina: parametros por referencia troca_valores(&valor1,&valor2); printf ("\nDEPOIS da troca...\n"); printf ("Valor1 = %.4lf\n",valor1); printf ("Valor2 = %.4lf\n",valor2); troca_valores(&valor1,&valor2); printf ("\nTroca de novo...\n"); printf ("Valor1 = %.4lf\n",valor1); printf ("Valor2 = %.4lf\n",valor2); system("PAUSE"); return 0; }