您的位置:首页 > 其它

两个字符串的最大公共子串

2010-02-08 09:51 351 查看
char *commonstr(char *str1, char *str2)
{
char *p1, *p2, *q1, *q2, *destp;
char *substr;
int max=0, len;

p1 = str1;
while((*p1)^0)
{
q1=str2;
while((*q1)^0)
{
len=0;
p2=p1;
q2=q1;
while(((*p2)^0)&((*q2)^0))
{
if(*p2==*q2)
{
p2++;q2++;len++;
}
else
break;
}
if(len>max)
{
max = len;
destp =p1;
}
q1++;
}
p1++;
}
substr=(char*)malloc(sizeof(char)*max+1);
memset(substr,0x0,sizeof(substr));
strncpy(substr,destp,max);
return substr;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: