Questa in pratica fa la stessa cosa, ma ovviamente non è "didattica" e non utilizza strtok, però se ti va bene lo stesso puoi usarla, non è difficile da capire:


codice:
void reverse( char *sentence, const char delimiter )
{
	char *ptr = sentence + strlen(sentence);
	
	while( ptr-- != sentence )
	{
		if( *ptr == delimiter )
		{
			*ptr = '\0';
			printf( "%s\n", ptr+1 );
		}
	}
	
	printf( "%s\n", sentence );
}