No... quello che stai descrivendo credo che sia un buffer overflow, ma qui non si verifica nulla di tutto ciò: non sta usando una stringa di formato "%s" con dei singoli char, per i quali invece usa correttamente la "%c". Il punto è che, invece di acquisire una stringa per ogni scanf, di fatto acquisisce un singolo carattere ogni scanf, e i caratteri del primo input (dato che l'input è bufferizzato in C) bastano per tutte le scanf.Originariamente inviato da Salvy95
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!