Объясните как работает код с++

Если конкретно, то что значит условие if (str) и что происходит в строках PrintReverse(strtok(NULL, " ")); и PrintReverse(strtok(str, " "));. Условие задачи, если необходимо: вывести слова в строке в обратном порядке.

    void PrintReverse(char *str)
{
    if (str)
    {
        PrintReverse(strtok(NULL, " "));
        printf("%s ", str);
    }
}

int main(void)
{
    char str[] = "i am learning c++";
    PrintReverse(strtok(str, " "));
    return 0;
}

Ответы (0 шт):