Стрификация - как это работает?

Я знаю это:

#define foo 4  
#define str(s) #s

сstr(foo) пишет:"foo"потому что stringify выполняется первым из раскрытия текста, но это:

 #define xstr(s) str(s)
 #define str(s) #s
 #define foo 4

сxstr(foo) выписывает:"4"

Зачем? Какие шаги участвуют в процессе?

Ответы на вопрос(2)

Ваш ответ на вопрос