¿Contando palabras en una cuerda?

Hola para este programa se supone que debo contar la cantidad de palabras en una cadena. Hasta ahora, he descubierto cómo encontrar el número de caracteres en una cadena, pero no puedo averiguar cómo convertir las letras que forman una palabra, y contarla como 1 palabra.

Mi función es:

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;
}

Probé algunas variaciones, pero la parte central de la declaración if es donde estoy confundido. ¿Cómo puedo contar el número de palabras en una cadena? Probar para estas pruebas si la cadena tiene múltiples espacios como "Hola, esta es una cadena"

Respuestas a la pregunta(4)

Su respuesta a la pregunta