Questo è il codice corretto:
codice:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[255];
char par1[50],par2[50],par3[50],par4[50];
/* '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 {
switch(n){
case 1:
par1[c]='\0';
break;
case 2:
par2[c]='\0';
break;
case 3:
par3[c]='\0';
break;
case 4:
par4[c]='\0';
break;
default:
break;
}
n++;
c=-1;
printf("\n");
}
}
getchar();
printf("%s", par1);
getchar();
}
PS: l'istruzione exit(1) che hai messo risulta inutile in quanto non verrà mai eseguita... è preceduta da un break; !
Il codice si poteva ridurre facendo uso di un array bidimensionale al posto di avere 4 array monodimensionali, ma credo che sia argomento futuro...
Ciao.