#include /* * Вернуть длину строки. * Строки в C -- это массив символов, в конце которого находится нулевой символ ( '\0') */ int mystrlen(const char *s) { // int len = 0; while (s[len] != '\0') { len++; } return len; } /* * Найти индекс, с которого строка s2 присутствует в строке s1 * или -1 */ int mystr_idx(const char *s1, const char *s2) { // int i = 0; // Индекс для s1 // Если s2 пустая строка, возвращаем 0 (поведение как у strstr) if (s2[0] == '\0') { return 0; } while (s1[i] != '\0') { int j = 0; // Индекс для s2 // Внутренний цикл: сравниваем символы while (s1[i + j] != '\0' && s2[j] != '\0' && s1[i + j] == s2[j]) { j++; } // Если j дошел до конца s2, значит s2 найдена if (s2[j] == '\0') { return i; // Возвращаем индекс начала вхождения } i++; // Сдвигаем i, пробуем найти со следующего символа s1 } return -1; }