У меня есть программа 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
?
##
в препроцессоре C. Это все равно, что сказать, почемуi++
увеличиваетi
?. Потому что так сказано в стандарте C! - person Alok Singhal   schedule 08.01.2010