Intercambiar dos números usando una variable en C

En muchos casos, los programadores deben intercambiar valores de dos variables. Aquí, aprenderemos cómo intercambiar valores de dos variables enteras, que pueden conducir a intercambiar valores de cualquier tipo. Los valores entre variables se pueden intercambiar de dos formas:

  • Con ayuda de una tercera variable (temp)
  • Sin usar ninguna variable temporal

Aprenderemos el primer método aquí para ver el segundo método, haga clic aquí .

Algoritmo

Averigüemos cómo debemos dibujar una solución paso a paso:

START
   Var1, Var2, Temp
   Step 1 → Copy value of Var1 to Temp
   Step 2 → Copy value of Var2 to Var1
   Step 3 → Copy value of Temp to Var2
STOP

Pseudocódigo

A partir del algoritmo anterior, podemos dibujar un pseudocódigo para este programa:

procedure swap(a, b)
   
   set temp to 0
   temp ← a
   a ← b      // a holds value of b
   b ← temp   // b holds value of a stored in temp

end procedure

Implementación

La implementación en C del algoritmo anterior debería verse así:

#include <stdio.h>

int main() {
   int a, b, temp;

   a = 11;
   b = 99;

   printf("Values before swapping - \n a = %d, b = %d \n\n", a, b);

   temp  = a;
   a  = b;
   b  = temp;

   printf("Values after swapping - \n a = %d, b = %d \n", a, b);
}

Salida

La salida de este programa debe ser:

Values before swapping -
 a = 11, b = 99                                         
 
Values after swapping -
 a = 99, b = 11