Я ввожу строку str
и хочу напечатать все ее слова, содержащие введенный символ c
в позиции n
(поэтому, если n = 1, это первый символ).Я пытаюсь сделать это, используя strtok()
, но получаю странный сбой.Любые советы?
int main()
{
char str[100]; gets(str);
while(getchar()!='\n'); ///so that n or c don't scan a newline in them
int n; scanf("%d",&n);
char c; scanf("%c",&c);
char* token = strtok(str, " ");
while (token != NULL) {
if(token[n-1]==c){
printf("%s\n", token);
}
token = strtok(NULL, " ");
}
return 0;
}
Я ввел следующее:
Hi i like mint
2
i
Затем программа неожиданно вылетает с сообщением:
Problem.exe перестал работать...