编程找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
#include <stdio.h>
#include <string.h>
void find_common_str(char arr1[],char arr2[])
{
int i, j;
int maxlen=0;
int start = 0;
char string[10] = {0};
for (i = 0; i < strlen(arr1); i++)
{
for(j=0;j < strlen(arr2); j++)
if (arr1[i] == arr2[j])
{
int as,bs,temp_len = 0;
as = i;
bs = j;
while (arr1[as++] == arr2[bs++] && arr1[as]!='\0')
{
temp_len = as - i;
}
if (temp_len > maxlen )
{
maxlen = temp_len;
start = i;
}
}
}
strncpy(string, &arr1[start], maxlen);
printf("%s", string);
}
int main(void) {
int i = 0;
char str_a[] = {"abccade"};
char str_b[] = {"dgcadde"};
find_common_str(str_a, str_b);
getchar();
return 0;
}