Я знаю, какой результат.
Но как получилось: #int repersent все это?
Я забыл эту деталь. Может кто-нибудь любезно дать мне подсказку?
Спасибо!
Ответ 1
В этом контексте (применяется к ссылке на параметр в определении макроса) знак фунта означает развернуть этот параметр до буквального текста аргумента, который был передан макросу.
В этом случае, если вы вызываете PRINT(5), расширение макроса будет printf("5" "%d\n", 5);, которое будет печатать 5 5; не очень полезно; однако, если вы вызываете PRINT(5+5), расширение макроса будет printf("5+5" "%d\n", 5+5);, которое напечатает 5+5 10, немного менее тривиально.