Я пишу функцию, которая удаляет смежные дубликаты символов. Обычно функция работает хорошо, но не работает в одном месте. что там не так?
char *remove_duplicates (char *str) {
int i=0;
int j;
// if(str[i]=='\0')
// return;
if(str[i]!='\0') {
if(str[i]==str[i+1]) {
//str[i+1]='0';
j=0;
while(str[j]!='\0') {
str[j]=str[j+1];
j++;
}
remove_duplicates(str+1);
}
else{
remove_duplicates(str+1);
}
//i++;
}
Мой ввод: «Это не совсем орфографическая ошибка, но мы не хотим это исправить» Я ожидаю: «Это не совсем неправильно, но мы хотим это исправить» Результат: « Это не совсем неправильно, но мы хотим исправить это »