Quiero saber el motivo detrás de la salida de este código. No pude encontrar una respuesta.Preprocesador C: macro macro e identidad de stringize
#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: la salida es 12 f(1,2)
. Pensé que era 12 12
o f(1,2) f(1,2)
.
solo para aprender a trabajar con el preprocesador ... – Dhatri
@cnicutar Creo que lo encontró aquí: http://cracktheinterviewers.blogspot.com/2012_03_01_archive.html – Dave
no fue escrito por mí ... se lo preguntaron en una prueba. – Dhatri