Функция - Pos(s,s1). Назначение - поиск первого вхождения подстроки s1 в строку s (аналогичная функция C - strstr) - C (СИ)

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

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

Функция - Pos(s,s1). Назначение - поиск первого вхождения подстроки s1 в строку s (аналогичная функция C - strstr).Помогите плииз

Решение задачи: «Функция - Pos(s,s1). Назначение - поиск первого вхождения подстроки s1 в строку s (аналогичная функция C - strstr)»

textual
Листинг программы
char* pos(char* str, const char* substr)
{
    char* t;
    const char* s;
 
    for (; *str; ++str)
    {
        for (t = str, s = substr; *t && *s && (*t == *s); ++t, ++s);
 
        if (*s == 0)
        {
            break;
        }
    }
 
    return str;
}

Объяснение кода листинга программы

  1. Входные данные функции:
    • str - указатель на начало строки, в которой ищется подстрока.
    • substr - указатель на начало подстроки, которую необходимо найти.
  2. Создаются две временные переменные:
    • t - указывает на текущий символ в строке str.
    • s - указывает на текущий символ в подстроке substr.
  3. Начинается цикл, который выполняется до тех пор, пока:
    • str не станет равно NULL (т.е. не будет достигнут конец строки).
    • s не станет равно NULL (т.е. не будет достигнут конец подстроки).
    • t и s не будут указывать на один и тот же символ (т.е. текущий символ строки не будет равен текущему символу подстроки).
  4. Если s станет равно NULL (т.е. будет достигнут конец подстроки), то выполняется действие:
    • s устанавливается равным NULL.
    • str устанавливается равным t.
    • функция завершается и возвращает значение str.
  5. Если условие в пункте 3 не выполняется, то выполняется следующее действие:
    • t и s сдвигаются на следующий символ.
  6. Цикл продолжается до тех пор, пока не будет выполнено условие в пункте 4.
  7. Возвращаемое значение функции - указатель на первый символ подстроки в строке (т.е. на символ, на котором функция завершилась).

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


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

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

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