1#define hash_hash # ## # 2#define mkstr(a) # a 3#define in_between(a) mkstr(a) 4#define join(c, d) in_between(c hash_hash d) 5char p[] = join(x, y); // equivalent to 6 // char p[] = "x ## y"; 7