Ciao, un primo problema che mi viene in mente è questo: che succede se la prima lettera della tua parola è maiuscola? A quel punto la sottrazione con 'a' dà ovviamente un valore fuori range e ottieni un segfault.