Bè puoi dichiarare una stringa di grandezza ad esempio 100 o 1000 e poi nel ciclo for "utilizzare" solo la grandezza richiesta dall'utente cosi' cioè
codice:
....
#define max 100

char stringa[max];
int i,n;

void main()
{

do{
printf("immetti la grandezza della stringa");
scanf("%d",&n);
}while ( n > max || n < 1 );

for (i=0; i<n ; i++)

scanf("%c",&stringa[i];