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 e' :\n"); 
      reverse(s); 
      
      putchar('\n'); 
      system("pause"); 
} 

void reverse( char *sentence ) 
{ 
     char *tokenPtr; 
     char v[100]; 
     int i;
      
     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--; 
     } 
      
}

La finestra dell'output mi da, dopo aver inserito la frase:

)llun


...naturalmente è sbagliato... Qualcuno di voi mi può aiutare?? Grazie!!