[讨论]
帮我看看 运行到long=o,i,j,k 就运行不下去了 为什么呢?谢谢个位帮的忙 能否帮把它运行到底呢?#include <stdio.h>
#include <string.h>
#define m 30
typedef struct
{
char vec[m];
int len;
}orstr;
void maxstr(orstr *sl,orstr *s2)
{
int index=0,long=0,i,j,k,long1;
i=0;
while(i<s1->len)
{
j=0;
while(j<s2->len)
{
if(s1->vec[i]==s2->vec[j])
{
long1=1;
for(k=1;s1->vec[i+k]==s2->vec[j+k];k++)
long1=long1+1;
if(long1>long)
{
index=i;
long=long1;
}
j+=long1;
}
else
j++;
}
i++;
}
print("最长公共子串:");
for(i=0;i<long:i++)
printf("%c",s1->vec[index+i]);
}
main()
{
orstr *s1,*s2;
strcpy(s1->vec,"aabcdababe");
s1->len=11;
strcpy(s2->vec,"12abcdbcdace");
s2->len=12;
maxstr(s1,s2);
}