Удалить все вхождения символа в строку - C (СИ)
Формулировка задачи:
Задача такая. С клавиатуры вводится строка и символ. Нужно удалить все вхождения символа в строку, результат записать в новую строку.
Вт чего не понимаю. внес в отдельную функцию данный код, когда передаю параметры из основной программы и вывожу в функции результаты-то все нормалльно. но в осовной программе результаты не тображаются.
P.S. параметры функции не менять(т.е.типы параметов)
int remove_ch(char *arr, char ch, char *str_res, int res_len) { char *old = arr; int k = 0; while (*arr != '\0') { if (*arr != ch) res_len++; arr++; } str_res =(char*) malloc(res_len*sizeof(char)); if(!str_res) { printf("ERROR"); return -1; } for(int i = 0; i < strlen(old); i++) { if(*(old+i) != ch) { *(str_res+k) = *(old+i); k++; } } *(str_res+res_len) = '\0'; printf("\nstr3: (%d) <%s>\n", res_len, str_res); return res_len; }
Решение задачи: «Удалить все вхождения символа в строку»
textual
Листинг программы
int remove_ch(char *arr, char ch, char **str_res, int res_len) { // ... *str_res =(char*) malloc(res_len*sizeof(char)); // .. }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д