Answer to Exercise 4-14, page 91 Solutions by Gregory Pietsch and Lars Wirzenius Define a macro swap(t,x,y) that interchanges two arguments of type t . (Block structure will help.) Here are Greg's solutions for Cat 0 and Cat 1: /* EXERCISE 4-14 Gregory Pietsch */ /* conditional compilation added by RJH */ #ifdef CATEGORY_0 #define swap(t,x,y) do{t z=x;x=y;y=z}while(0) #else #ifdef CATEGORY_1 /* ..