Chcę poznać przyczynę wyjścia tego kodu. Nie mogłem wymyślić odpowiedzi.Preprocesor C: makro i makro makra stringi
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
void main()
{
printf("%s %s",h(f(1,2)),g(f(1,2)));
}
PS: wyjście to 12 f(1,2)
. Myślałem, że to było 12 12
lub f(1,2) f(1,2)
.
po prostu nauczyć się pracy preprocesora ... – Dhatri
@cnicutar Myślę, że znalazł go tutaj: http://cracktheinterviewers.blogspot.com/2012_03_01_archive.html – Dave
nie został napisany przeze mnie ... został poproszony w teście. – Dhatri