Kann ich eine Zeichenfolge in eine leere Zeichenfolge kopieren?

Angenommen, ich mache das, um die Zeichenfolge zu kopieren.

char str[] = "";
char *str2 = "abc";
strcpy(str, str2);
printf("%s", str);  // "abc"
printf("%d", strlen(str));  // 3

Warum führt es dann nicht zu undefiniertem Verhalten oder zum Fehlschlagen des Programms? Was sind die Nachteile davon?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage