Was bedeutet ## für den C (C ++) - Präprozessor?

Ich habe einC Programm unten:

#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}

Wenn ich nur den Präprozessor ausführe, wird dies wie folgt erweitert

{
int var12=100;
printf("%d",var12);
}

Das ist der Grund, warum die Ausgabe 100 ist.

Kann mir jemand sagen, wie / warum der Präprozessor expandiertvar##12 to var12?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage