Ich möchte den Grund für die Ausgabe dieses Codes wissen. Ich konnte keine Antwort finden.C Präprozessor: stringize Makro und Identität Makro
#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: Ausgabe ist 12 f(1,2)
. Ich dachte, es wäre 12 12
oder f(1,2) f(1,2)
.
nur um Präprozessor arbeiten zu lernen ... – Dhatri
@cnicutar Ich denke, er fand es hier: http://cracktheinterviewers.blogspot.com/2012_03_01_archive.html – Dave
es wurde nicht von mir geschrieben..es wurde in einem Test gefragt. – Dhatri