У меня есть функция, которая должна читать строку (только с цифрами в ней) и возвращать наибольшую последовательность, которая имеет повторяющиеся числа.например: 12345267890
должно возвращаться: 345267890
Я экспериментировал с кодом вручную и считаю, что он должен работать.но когда я запускаю его, и когда он достигает этой линии i=(strchr(v+i, *(v+j)))-v;
вместо того, чтобы получить расстояние между указателями, я получаю что-то вроде -1046583.я могу это сделать?
char* bigSeq(char *v){
int i, j;
char *aux, *bgst;
aux=(char*) malloc(10*sizeof(char));
bgst=(char*) malloc(10*sizeof(char));
for(i=0;i<strlen(v);i++){
for(j=0;j<strlen(v+i);j++){
if(strchr(v+i, *(v+j)) != (v+j)){
if(strlen(strncpy(aux, (v+i),j)) > strlen(bgst))
strncpy(bgst, (v+i),j);
i=(strchr(v+i, *(v+j)))-v;
break;
}
}
}
return bgst;
}