Вы не должны рассчитывать на Ctrl-Z или любой терминатор
Если бы вы рассчитывали на это и работали на традиционных * nix-оболочках, вы бы приостановили свой процесс, а не прекратили ввод (прочитайте, например, JOB CONTROL, в man bash
)
(я знаю, что этот ответ приходит с некоторым опозданием, но я вижу, что вы продолжаете упоминать Ctrl-Z в своих ответах на другие ответы)
Если вы работаете в системе * nix, вы можете использовать Ctrl-D, но не ожидайте, что это попадет в ваш поток ввода (он просто используется в качестве механизма сигнализации) .m Вы также можете проверить это с помощью файла, должен дать вам более последовательные результаты, чем печатать, например
a.out < prog.c
для подсчета строк в вашей c-программе