Определить, входит ли заданное слово в строку - C (СИ)
Формулировка задачи:
Задача состоит из 3 пунктов меню. Я для 2-ух первых написал, а вот для 3 не могу. В нём нужно сделать следующее: определить, входит ли заданное слово в строку (вроде нужно использовать strtok)
Решение задачи: «Определить, входит ли заданное слово в строку»
textual
Листинг программы
#include <string.h> #include <stdio.h> #define BLANK_STRING "" void main(void){ char *token, buf[81],*separators = "\t,. "; int i; puts("Вводите строки\n\ Завершение - нажатие ENTER.\n"); while(strcmp(gets(buf),BLANK_STRING)!=0) { i = 0; token = strtok(buf, separators); while(token != NULL) { printf("Лексема %d - %s\n", i, token); //!!! token = strtok(NULL, separators); i++; } }}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и вводом/выводом.
- Объявление переменных:
buf
- буфер для ввода строки;separators
- строка-разделитель;i
- счётчик лексем;token
- текущая лексема.
- Вывод приглашения для ввода строк.
- Ввод строки и проверка на пустоту (завершение ввода - нажатие ENTER).
- Пока строка не пустая, то разделение её на лексемы с помощью функции
strtok
. - Вывод каждой лексемы с помощью функции
printf
. - После вывода каждой лексемы, следующее значение
token
становитсяNULL
, что означает конец списка лексем. - После каждой итерации счётчик
i
увеличивается на 1. - После окончания ввода строки, программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д