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...