Как уже упоминалось, вы должны нажать control - d (он же ^d
), но это работает только после того, как вы нажмете return .Другими словами, вы не можете набрать «foo control - d » и ожидать, что это сработает."foo return control - d " будет работать, хотя.
Также обратите внимание, что K & R - отличная книга, но она написанадесятилетия назад.Представленный алгоритм подсчета работает только на входе ASCII-кода.Широкие символы (UTF-8 и т. Д.) Не будут считаться правильно.
Также обратите внимание, что в приведенном вами примере используется число с плавающей запятой для этого подсчета.В этом нет ничего страшного, но для скорости и эффективности большинство людей будет использовать неподписанные целочисленные значения, длинные или другие типы интегральных данных.Вы вряд ли будете читать reading-го символа!