Über # # - Präprozessor in C

Gegeben

#define cat(x,y) x##y

Den Anruf cat(a,1) zurück a1, aber cat(cat(1,2),3) ist nicht definiert.
Allerdings, wenn ich auch definieren #define xcat(x,y) cat(x,y), dann ist das Ergebnis von xcat(xcat(1,2),3) ist jetzt 123. Kann jemand bitte im detail erklären, warum das so ist?

  • Meinst du then the result of xcat(xcat(1,2),3) is now 123?
  • Ich habe einen Fehler gemacht beim schreiben der Frage .Ja das Ergebnis von xcat(xcat(1,2),3) 123
InformationsquelleAutor sourabh912 | 2012-06-14
Schreibe einen Kommentar