influisce perché provi ad allocare più memoria di quanta ne hai inizializzata... è come se provassi ad inserire all'interno di un hard disk di 500MB, 300GB... il sistema automaticamente passa all'hard disk successivo, ma non essendoci perché il tuo è un char (un singolo hard disk) scrive i tuoi caratteri nel primo hard disk libero che riesce a trovare e tocca indirizzi che non dovrebbero essere toccati! spero sia stato chiaro!
Mitaly mi ha anticipato 
per accumulare più memoria, inizializza i char come
codice:
char nome_var[dimensione_var];
dopodiché
codice:
scanf("%s", &nome_var[0]);