Voglio conoscere il motivo dietro l'output di questo codice. Non sono riuscito a trovare una risposta.preprocessore C: stringize macro macro e identità
#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: l'output è 12 f(1,2)
. Ho pensato che fosse 12 12
o f(1,2) f(1,2)
.
solo per imparare il preprocessore lavorando ... – Dhatri
@cnicutar Penso che l'abbia trovato qui: http://cracktheinterviewers.blogspot.com/2012_03_01_archive.html – Dave
non è stato scritto da me.è stato chiesto in una prova. – Dhatri