Ввести строку с клавиатуры. Заменить все пробелы идущие подряд на один пробел - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ввести строку с клавиатуры. Заменить все пробелы идущие подряд на один пробел. Прошу помощи, т.к. в строках разбираюсь просто ужасно .

Решение задачи: «Ввести строку с клавиатуры. Заменить все пробелы идущие подряд на один пробел»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main(void) {
    char buf[BUFSIZ], * p;
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
        for ( p = strchr(buf, ' '); p; p = strchr(p + 1, ' ') )
            while ( *(p + 1) == ' ' )
                memmove(p + 1, p + 2, strlen(p + 1));
        printf("Result: %s", buf);
    }
    
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы