Исключить из строки группы символов, расположенные между скобками [, ] - C (СИ)
Формулировка задачи:
Можете помочь решить? С объяснением пожалуйста. На чистом СИ | Дана строка символов. Исключить из этой строки группы символов, расположенные между скобками [, ]. Сами скобки тоже должны быть исключены. Предполагается, что внутри каждой пары скобок нет других скобок.
Решение задачи: «Исключить из строки группы символов, расположенные между скобками [, ]»
textual
Листинг программы
- #include <stdio.h>
- char* remove_s(char* s, char fch, char lch){
- char* p, *i, *t = s;
- while(*s && (*s != fch))
- ++s;
- for(p = s; *s; *s = *p){
- if(*p == fch){
- i = p + 1;
- while(*i && (*i != lch)){
- if(*i == fch){
- i = NULL;
- break;
- }
- ++i;
- }
- if((i != NULL) && (*i == lch)){
- p = i + 1;
- continue;
- }
- }
- ++s;
- ++p;
- }
- return t;
- }
- int main(void){
- char s[] = "[XXX]+[YYYYYYY] = [END]";
- puts(s);
- puts( remove_s(s, '[', ']') );
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д