Я написал некоторый код, который, по моему мнению, очень близок к решению проблемы, но я не могу правильно сравнить два символа. Я не знаю, как правильно их разыграть.
Я знаю, как сделать это с помощью массивов, но я хочу знать, как это сделать с помощью указателей.
char *FindToken(char *s,char *t)
{
while (s)
{
//char check = *(char*)s; tried this but it doesn't work
while(t)
{
if (strcmp(s,t)){
//return s;
printf("%s", s);
}
t++;
}
s++;
}
return NULL;
}
Это оригинальная проблема:
Запишите C function
вызываемый, который принимает 2 параметры: null
завершенный массив символов (строка) с именем S в отношении искомой строки и второй строковый параметр с именем T
. string T
- это list of characters
(не считая ‘\ 0’), которые являются токенами или символами, которые нужно искать в S
. Не изменяйте S
или T
. Это будет return
символьный указатель на позицию первого символа в T
, который находится в S
, если он найден в S,
или NULL
в противном случае.
Например:
printf("%s", *FindToken(“are exams over yet?”, “zypqt”)); // will display “yet?”