Удалить из строки все первые и последние пробелы - C (СИ)
Формулировка задачи:
можно пользоваться функциями string.h
С программой, которая удаляет все лишние пробелы вроде разобрался. Проблема в том, что мне не нужно удалять лишние пробелы в середине строки.
Решение задачи: «Удалить из строки все первые и последние пробелы»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- main()
- {
- char string[100];
- printf("Enter string:");
- fgets (string, 100, stdin);
- int i;
- int j = 0;
- for (i = 0; string[i] != '\0'; i++)
- {
- if(string[i] == ' ') continue;
- string[j++] = string[i];
- string[j] = '\0';
- }
- printf("%s", string);
- return 0;
- }
Объяснение кода листинга программы
- В начале кода подключаются две библиотеки: стандартная библиотека языка C (stdio.h) и библиотека для работы со строками (string.h).
- Затем идет объявление функции main(), которая является точкой входа в программу.
- Внутри функции main() объявляется массив типа char с именем string, который может хранить до 100 символов.
- Далее пользователю предлагается ввести строку, которую он хочет обработать. Для этого используется функция fgets().
- После чтения строки, в цикле for перебираются все символы строки, начиная с первого и до последнего.
- Внутри цикла проверяется, является ли текущий символ пробелом. Если это так, то цикл пропускает этот символ и переходит к следующему.
- Если текущий символ не является пробелом, то он копируется в новый массив, начиная с индекса j и увеличивается на единицу после каждой операции копирования.
- После обработки всех символов исходной строки, в новом массиве добавляется нулевой символ, чтобы обозначить конец строки.
- Наконец, новая строка выводится на экран с помощью функции printf().
- В конце функции main() возвращается 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д