Contando palavras em uma string?

Olá para este programa, devo contar o número de palavras em uma string. Até agora, descobri como encontrar o número de caracteres em uma string, mas sou incapaz de descobrir como transformar as letras que formam uma palavra e considerá-la como 1 palavra.

Minha função é:

int wordcount( char word[MAX] ){

    int i, num, counter, j;

    num = strlen( word );
    counter = 0;

    for (i = 0; i < num; i++)
    {
        if (word[i] != ' ' || word[i] != '\t' || word[i] != '\v' || word[i] != '\f')
        {

        }

    }

    return counter;
}

Eu tentei algumas variações, mas a parte do meio da declaração if é onde eu estou confuso. Como posso contar o número de palavras em uma string? Testes para este teste se a string tiver vários espaços como "Hello this is a string"

questionAnswers(4)

yourAnswerToTheQuestion