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

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

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

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

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

textual
Листинг программы
  1. char *strstr(char *s1,char *s2)
  2. {
  3.     char *p,*q,*t;
  4.     p=s1;
  5.     while(*p)   //продолжать пока не закончится первая строка
  6.     {
  7.     q=s2;       //начало второй строки
  8.     for(;*p&&*p!=*q;p++);   //поиск первого символа второй строки в первой строке
  9.     if(!*p) return NULL;    //Если первая строка закончилась, то вторая не входит
  10.     t=p;                    //запомнить начало возможного вхождения
  11.     for(;*p&&*q&&*p==*q;p++,q++);   //проверка вхождения
  12.     if(!*q)return t;        //если вторая входит в первую, вернуть указатель вхождения
  13.     if(!*p) return NULL;    ////Если первая строка закончилась, то вторая не входит
  14.     p=t+1;                  //продолжить поиск вхождения
  15.     }
  16.  
  17. }

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


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

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

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы