3.给出一个函数来复制两个字符串A 和B。字符串A 的后几个字节和字符串B 的前几个字节重叠。
void connect(char *str1 ,char *str2 , int len1 ,int len2)
{
int i ,j,m , k;
j = 0;
for(i=0; str2[i] != '\0' ;i++)
{
if(str1[j] == str2[i])
{
m = i;
while((str1[j] == str2[m])&&(str2[m] != '\0'))
{
j++;
m++;
}
if(str2[m] == '\0')
{
char *str=(char *)malloc(len1 +len2-j+1);
strcpy(str , str2);
strcpy(&str[len2] , &str1[j]);
str[len1+len2-j+1] ='\0';
for(k = 0;str[k] != '\0' ; k++)
{
printf("%c",str[k]);
}
}
}
}
}
void main()
{
char *str1="abcdefg";
char *str2="efghij";
int len1 = strlen(str1);
int len2 = strlen(str2);
connect(str2 ,str1 ,len2 ,len1);
}