Concordo con valia, non perché non voglia fare il debug al posto tuo, ma perché non ti farebbe imparare nulla.

E' importante saper correggere un programma, quanto e forse di più di saperlo scrivere.

Opera passo passo, con il tuo debugger. Se non lo sai usare, inserisci delle printf o delle getchar in modo da identificare con precisione l'istruzione che causa il problema.

Soffermati, come già detto, sui puntatori e sul loro valore perché è sicuramente un problema di puntatori.