Per il tuo problema (se l'ho capito bene) puoi farlo così:

codice:
....
char str[100];
char par1[15],par2[15],par3[15],par4[15]; 
/* 'parn' dove n e il numero di parole che si vuole memorizare */
int n=1,i,c;

printf("Inserisci la stringa: ");
gets(str);

for(i=0,c=0;str[i]!='\0';i++,c++)
{
   if(str[i]!=' ')
   {
   switch(n){
     case 1:
     par1[c]=str[i];
     break;
     case 2:
     par2[c]=str[i];
     break;
     case 3:
     par3[c]=str[i];
     break;
     case 4:
     par4[c]=str[i];
     break;
     default:
     printf("Frase lunga");
     break;
   }
   printf("%c",str[i]);
   }
   else
   {
   n++;
   c=-1;
   printf("\n");
   }
}
in pratica stampa e mette in un vettore la parola, Se 'n' e uguale a 1 mette la parola nel vettore par1 e cosi via fino alla fine della stringa 'str'.

Io lo vedo risolvibile cosi magari c'e un modo più semplice...