Что означает ## для препроцессора C (C ++)?

У меня есть C Программа ниже:

#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}

когда я запускаю только препроцессор, он расширяет это как

{
int var12=100;
printf("%d",var12);
}

что является причиной, почему выход составляет 100.

Кто-нибудь может сказать мне, как / почему расширяется препроцессор?var##12 to var12

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

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