这程序有错吗?
/*写一个函数,用来返回一个字符串中重复出现的最长字串的长度及其开始地址const char*p=NULL;int len=maxsubstr("qweohiuweyowohifpw",&p);输出:len=3,substr=ohi*/#include#includeint maxsubstr(const char *str,const char **p){int len=0,templen=0;//len为字符串中重复出现的最长字串的长度,templen为判断过程中字符串中重复出现的字串的长度int size=strlen(str);const char*i=str,*j=0; //i=str即i=str[0],i指向字符串的第一个字符for(i=str;ilen){ //判断重复出现的最长字串的长度是否改变len=templen;templen=0;*p=i;}else{templen=0; //就算重复出现的最长字串的长度不改变,当前长度也得清零。。。}}}}return len;}int main(){char str[10000];const char*p=0;int len=0;int i=0;printf("输入带重复字符的字符串");scanf("%s",str);len=maxsubstr(str,&p);printf("len=%d,substr=",len);for(i=0;i