Buongiorno a tutti!
L'esercizio dice:
-prendere in input una riga di testo;
-suddividerla in token con la funzione strtok;
-inviarla in output in ordine inverso.

Il mio programma è questo:

codice:
/* Scrivere una frase, dividerla in soket e stamparli in ordine inverso */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void reverse( char *sentence );

main()
{
      char s[100];
      
      printf("Inserisci una frase:\n");
      gets(s);
      
      printf("La frase stampata con i token in ordine inverso è:\n");
      reverse(s);
      
      putchar('\n');
      system("pause");
}

void reverse( char *sentence )
{
     char *tokenPtr;
     char v[100];
     int i, l;
     
     tokenPtr = strtok(sentence, " ");
     sprintf(v, "%s", tokenPtr);
     
     while ( tokenPtr != NULL )
     {
           tokenPtr = strtok(NULL, " ");
           sprintf(v, "%s", tokenPtr);
     }
     
     i = strlen(v);
     
     while ( i != 0 )
     {
           printf("%c", v[i] );
           i--;
     }
     
}
Non riesco a farlo funzionare... Qualcuno mi può aiutare?? Grazie!!!