Я пытаюсь создать функцию, которая приписывает строку после другой строки. Я наблюдаю следующую ошибку. Пожалуйста помоги. * Glibc обнаружен ./a.out: перераспределить(): недопустимый старый размер: 0x00007fff7af0d450 * *Ошибка при конкатенации строки
// The following code concatenates the orignal string into the another
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void strcatstring(char *str,char *newstr)
{
int m=strlen(str);
int n=strlen(newstr);
newstr=(char *)realloc(newstr,10*sizeof(char));
char *newstr1=(char *)malloc(10*sizeof(char));
newstr1=newstr;
while(*newstr!='\0')
{
++newstr;
}
while(*str!='\0')
{
*newstr=*str;
++newstr;
++str;
}
printf("%s",newstr1);
}
int main()
{
int n=6;char *str;char str1[10];
str1[0]='y';
str1[1]='u';
str=(char *)malloc(n*sizeof(char));
printf("\nEnter the string\n");
scanf("%s",str);
puts(str);
strcatstring(str,str1);
return 0;
}
первый отступ ваш код правильно –
Пожалуйста, просмотрите [вы с отступом код и уведомление] (http://stackoverflow.com/posts/17569539/revisions), где @Kninnug поместил вкладки –