> char *foo(const char *s, const char *a) тут должно быть const char* foo По идее strpbrk возвращает указатель на часть строки, поэтому если передается строка const char*, то и результат должен быть const char*, иначе возможно получить неconst-указатель на часть const-строки.