Почему strtok меняет свой вклад таким образом?

Хорошо, я понимаю, что strtok изменяет свой входной аргумент, но в этом случае он сворачивает входную строку только в первый токен. Почему это происходит, и что я могу сделать, чтобы это исправить? (Обратите внимание, я не говорю о переменной "temp", котораядолжен быть первым токеном, а точнее переменной «input», которая после одного вызова strtok становится «this»)

#include <string.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char* argv[]) {
   char input[]="this is a test of the tokenizor seven";
   char * temp;
   temp=strtok(input," ");
   printf("input: %s\n", input); //input is now just "this"
}

Ответы на вопрос(3)

Ваш ответ на вопрос