Написать функцию выделения слов из переданной ей строки - C (СИ)
Формулировка задачи:
Изучаем указатели. Дано задание:
Написать функцию выделения слов из переданной ей строки, содержащие заданный символ, и возвращающую их.
Помогите написать программу на си, буду очень благодарен.
Решение задачи: «Написать функцию выделения слов из переданной ей строки»
textual
Листинг программы
#include <stdio.h> #include <string.h> void find_ch(char* str, char* ch) { if(strstr(str, ch)) printf("%s\n", str); } int main(void) { char arr[255]; char znak[] = "щ"; //заданный символ while(fscanf(stdin, "%s%*c", arr) != EOF) find_ch(arr, znak); return 0; }
Объяснение кода листинга программы
В этом коде:
- В функции find_ch() используется функция strstr() для поиска первого вхождения подстроки в переданной строке. Если подстрока найдена, то в консоль выводится сама строка.
- В функции main() создается массив arr типа char на 255 символов.**
- Затем в main() программа запрашивает ввод строки с помощью fscanf(). Введенная строка сохраняется в массиве arr.**
- После этого вызывается функция find_ch(), которая ищет в этой строке подстроку
щ
. Если подстрока найдена, то сама строка выводится в консоль.** - Процесс чтения строк и поиска подстрок продолжается до тех пор, пока не будет достигнут конец файла (EOF).
- В конце программы возвращается 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д