С использованием функции найти все вхождения подстроки в строке - C (СИ)

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

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

Всем логимыслящим Большой Привет! Помогите меня избавить от страданий написать программу...Лайками обеспечу! Функция находит в строке заданную подстроку и возвращает указатель на нее. С использованием функции найти все вхождения подстроки в строке.

Решение задачи: «С использованием функции найти все вхождения подстроки в строке»

textual
Листинг программы
char *strstr(char *s1,char *s2)
{
    char *p,*q,*t;
    p=s1;
    while(*p)   //продолжать пока не закончится первая строка
    {
    q=s2;       //начало второй строки
    for(;*p&&*p!=*q;p++);   //поиск первого символа второй строки в первой строке
    if(!*p) return NULL;    //Если первая строка закончилась, то вторая не входит
    t=p;                    //запомнить начало возможного вхождения
    for(;*p&&*q&&*p==*q;p++,q++);   //проверка вхождения
    if(!*q)return t;        //если вторая входит в первую, вернуть указатель вхождения
    if(!*p) return NULL;    ////Если первая строка закончилась, то вторая не входит
    p=t+1;                  //продолжить поиск вхождения
    }
 
}

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


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

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

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