1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#include <stddef.h> // for NULL char *strstr(const char *s1, const char *s2) { const char *p = s1; const char *q = s2; if (*q == '\0') return (char *)p; while (*p != '\0') { const char *pp = p; const char *qq = q; while (*pp == *qq && *pp != '\0') { pp++; qq++; } if (*qq == '\0') return (char *)p; p++; } return NULL; }