Этот код прекрасно работает для меня, и я могу понять:Почему я могу дублировать строку таким образом, но не так?
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));
}
Раньше я попробовал это, и я получил «Сегментация Fault». Почему ?:
for (i=0; i<len; i++)
s[len++] = s[i];
s[len] = '\0';
Выход должен быть: «AnaAna».
Какой беспорядок! Я вижу сейчас. Спасибо, Алекс. – Ricardo