Attenzione a non sforare i limiti con le stringhe, bisogna sempre prevedere il terminatore '\0', e controllare di non assegnare più stringhe di quante ne siano allocate.
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSTRLENGTH 10
#define MAXSTRNUMBER 10
int main()
{
char vett[MAXSTRNUMBER][MAXSTRLENGTH+1];
char str[2048];
int count=0;
int end=0;
int i, len;
do
{
printf("Stringa %d: ", count+1) ;
gets(str) ;
len = strlen(str);
if( len==0 )
printf("La stringa e' vuota ripeti:\n");
else if( len>MAXSTRLENGTH )
printf("La stringa e' troppo lunga!\n") ;
else if (strcmpi(str, "fine")==0)
end = 1;
else
{
strcpy( vett[count], str );
count++;
if( count == MAXSTRNUMBER )
end = 1;
}
}
while(end==0);
for( i=0; i<MAXSTRNUMBER; i++)
printf("%d) \"%s\"\n", i, vett[i] );
printf("\nFine");
getchar();
return 0;
}