Pozwolę sobie uzupełnić podpowiedź @korkirw’a
To jest kwestia testowania. Czy więc nie można testować na konsoli? Oczywiście, że można, ale trzeba umieć jeszcze interpretować poprawnie, to co pokazuje konsola, no i oczywiście wiedzieć jaką kombinacją klawiszy zasymulować koniec pliku [EOF]. Przypomnę dla porządku, że nie są to kombinacje <CTRL C>
ani <CTRL ALT DEL>
Jeżeli więc nie wiesz, nie umiesz testować u siebie, skorzystaj z ideone, wklejając tam koniecznie test, a nie tylko sam kod.
Dodatkowo, w twoim wykonaniu default : jest najgorszą rzeczą jaką mogłeś wymyśleć - “ciche”, po angielsku, opuszczenie programu. Już dużo lepiej byłoby w twoim wypadku całkiem zrezygnować z tej etykiety.
Nie trzeba używać debugera, wystarczy zwykła instrukcja drukująca. Popatrz sam i wyciągnij wnioski: https://ideone.com/oerpzy
No i jak zrobiłeś już to zadanie w C++, to próba zrobienia go również w C jest krokiem do tyłu. Co innego, gdybyś próbował je zrobić dodatkowo np w Haskell’u.