我的这个算法的比较直观通俗易懂,欢迎大家提出建议和意见哈
#include <stdio.h>
#include <stdlib.h>
char * connect(char *a,char *b){
int lenA=strlen(a);
int lenB=strlen(b);
int count=0;
char *second;
char *first=a;
while(*first!='\0'){
second=b;
if(*first==*second){
while(*first==*second){
first++;
second++;
count++;
}
if(*first=='\0'){
break;
}else{
count=0;
}
}else{
first++;
}
}
printf("count:%d\n",count);//主要是找到究竟有多少个字符重复
char *result=(char*)malloc(lenA+lenB-count);
a[lenA-count]='\0';
strcpy(&a[lenA-count],b);
strcpy(result,a);
return result;
}
int main()
{
char a[]="hfhhhqiaqiaou";
char b[]="qiaouernmcvsdwe";
printf("before connect the two string is\n%s\n%s\n",a,b);
printf("after connect is %s\n", connect(a,b));
return 0;
}