Удалить все вхождения символа в строку - 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));
- // ..
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д