#include #define VSWAPW( type, v0, v1 ) \ do { \ type tmp = v0; \ v0 = v1; \ v1 = tmp; \ } while ( 0 ) #define VSWAPF( type, v0, v1 ) \ for (;;) { \ type tmp = v0; \ v0 = v1; \ v1 = tmp; \ break; \ } long int0 = 0x55aa55aa; long int1 = 0xff00ff00; int main ( int argc, char** argv ) { fprintf (stderr, "i0: 0x%08lx, i1: 0x%08lx\n", int0, int1 ); VSWAPW ( long, int0, int1 ); fprintf (stderr, "i0: 0x%08lx, i1: 0x%08lx\n", int0, int1 ); VSWAPF ( long, int0, int1 ); fprintf (stderr, "i0: 0x%08lx, i1: 0x%08lx\n", int0, int1 ); return (0); }