自分ならこう書く。

char *search(const char *str, const char *key) {
while (*str != '\0') {
const char *s = str;
const char *k = key;

while (*s == *k) {
++s, ++k; // while (*s++ == *k++)
if (*k == '\0') return str;
if (*s == '\0') return NULL;
}

++str;
}

return NULL;
}