哪位大哥大姐帮我改改 呀 我就是不知道什么地方错了啊 我急用啊!1 要不然实验就不及格了啊 # include <stdio.h> # include <string.h> # define MAXCHAR 30 typedef struct { char vec[MAXCHAR]; int len; }strtype; void maxcomstr (strtype *s,strtype*t) { int index=0,maxlen=0,i=0,j,k,leng; /*i作为扫描s的指针*/ while (i<s->len) { j=0; /*j作为扫描的指针*/ while (j<t->len) { if (s->vec[i]==t->vec[j]) /*找一个子串,其在s中的序号为i,长度为leng*/ { leng=1; for (k=1;s->vec[i+k]==t->vec[j+k];k++) leng++; if (leng>maxlen) /*将长者赋给index与maxlen*/ { index=i; maxlen=leng; } j+=leng; /*继续扫描t中的j+leng字符之后的字符*/ } else j++; } i++; /*继续扫描s中的第i字符之后的字符*/ } printf("n字符串的%s和%s的最长的公共字串:",s->vec,t->vec); for (i=0;i<maxlen;i++) printf("%c",s->vec[index+i]); } main() { strtype *r,*r1; printf("输入第一个字符串:"); scanf("%vs",r-> vec); r->len+strlen (r->vec); printf("输入第二个字符串:"); scant("%s",r1->vec); r1->len=strlen(r1->vec); maxcomstr(r,r1);
}