У меня есть следующая программа, которая не может слить две строки, потому что строка1 не имеет достаточно места для хранения объединенной строки. Если строка1 не имеет достаточного пространства и не использует дополнительный массив для хранения объединенной строки как вернуть объединенную строку?Как слить две строки
#include<stdio.h>
#include<string.h>
int main()
{
void strcat2(char *str1,char *str2);
strcat2("john","kris");
getchar();
}
void strcat2(char *str1,char *str2)
{
for (; *str1++;);
for (;*str1++ =*str2++;);
}
Так много ** неопределенное поведение **, поэтому мало времени. – WhozCraig
Это может быть полезно http://stackoverflow.com/questions/308695/c-string-concatenation –
использовать malloc, чтобы выделить подходящее место для хранения результата. –