1. Utilice la definición de macro:
#definir SWAP (X, Y) (X ) + = (Y); (Y) = (X) - (Y); (X) = (X) - (Y);
2. Use el operador XOR
int x = 21 ; int y = 12 ; x ^ = y; y ^ = x; x ^ = y;
#include <stdio.h> #include <stdlib.h> int main ( int argn, char * argv []) { int i = 0 ; int j = 0 ; if ((++ i> 0 ) || (++ j> 0 )) { printf ( " i =% d \ n " , i); printf ( " j =% d \ n " , j); } int x = 21 ; int y = 12 ; x ^ = y; y ^ = x; x ^ = y; printf ( " aquí x =% d \ n " , x); printf ( " aquí y =% d \ n " , y); SWAP (x, y); printf ( " aquí x =% d \ n " , x); printf ( " aquí y =% d \ n " , y); devuelve 0 ; }