Scusa ma si possono definire dei vettori senza specificarne la lunghezza ??

[PASTE CODE]
..
char c[];
..

for(i=0;*(c+i)=getchar()!='\n';i++);
*(c+i)='\0';
..

[/PASTE CODE]

non dovresti scrivere
char c[40];

Potrei sbagliarmi, anche perchè ho la febbre ç_ç