- #include "stdafx.h"
- #include "stdio.h"
- #include "malloc.h"
- #include "string.h"
- char *maxsubstr(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);
- strncpy(substr,destp,max);
- return substr;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- char *s1="easderfghjkl";
- char *s2="jasdwfghjewserfghjk";
- char *sub;
- printf("%s/n%s/n",s1,s2);
- sub = maxsubstr(s1,s2);
- printf("the max sub string is:%s",sub);
- return 0;
- }