Как вернуть указатель в функции поиска подстроки?
st - i - это указатель на начало совпадающей части строк. Если вам нужно позицию первого вхождения, то нужно ее вычислить, как разницу указателя начала исходной строки и указателя на начало совпадающей части.
Кроме того
1) Вот это вот явно не то, что вы хотите (и не то, что написано в комментарии) pa-i; //сбрасываем паттерн на исходное положение
st-i; // сбрасываем строку на исходное положение
2) Почитайте про алгоритмы нахождения подстроки в строке
Вы все задачи с https://stepic.org/ будете так решать?