Dieser Code funktioniert gut zu mir und ich kann es verstehen:Warum kann ich eine Zeichenfolge auf diese Weise duplizieren, aber nicht auf diese Weise?
char * strduplica(char *s)
{
int i, len = strlen(s);
for (i=0; i<len; i++)
s[i+len] = s[i];
s[i+len] = '\0';
return s;
}
main()
{
char s[20]="Ana";
puts(strduplica(s));
}
Früher habe ich versucht, diese und ich bekam eine „Segmentation Fault“. Warum ?:
for (i=0; i<len; i++)
s[len++] = s[i];
s[len] = '\0';
Die Ausgabe sollte: "AnaAna" sein.
Was für ein Chaos! Ich sehe jetzt. Danke, Alex. – Ricardo