В чем ошибка кода C? (Это ошибка или нормально?)

Модератор: Модераторы разделов

Аватара пользователя
Sekta-N
Сообщения: 854
ОС: Зоопарк

В чем ошибка кода C?

Сообщение Sekta-N »

Читаю книжку Кернигана и Ричи "The C programming language"

Дошел до Подсчета символов с помощью getchar

Вот код:

Код: Выделить всё

#include <stdio.h>

/* подсчет вводимых символов; 1-я версия */
main()
{
    long nc;
    nc = 0;

    while (getchar() != EOF)
        ++nc;
    printf(“%ld\n”, nc);
}


Компилю, все нормально, но вот незадача:
Запустил я программу, ввожу символы, ничего нет, нажал enter тоже ничего. Текст вводится кол-во символов не выводится. Что за ерунда не понятно, проблема в том, что целая глава на этом построена.
Нет тут подписи и не будет.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: В чем ошибка кода C?

Сообщение nesk »

ctrl+d спасёт отца русской демократии ;)


А вот развлекательно-юмористическое чтиво на данную тему:
Второй шаг в программировании на С
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4463
Статус: GNU generation
ОС: Debian GNU/Linux

Re: В чем ошибка кода C?

Сообщение Rootlexx »

EOF генерируется при нажатии Ctrl-D (завершение ввода). Переход на новую строку не вызывает EOF.

Добавлено: пока писал, уже опередили :).
Спасибо сказали: