Я учу себя C с K & R и в тупике один из примеров в книге. Я компилирую код точно так, как он написан в примере, но он не делает то, что авторы говорят, что это будет. Предполагается, что программа предназначена для подсчета символов. Указанный код выглядит следующим образом:Проблема с примером 1.5.2 в книге K & R на C
#include <stdio.h>
/* count characters in input; 1st version */
main()
{
long nc;
nc=0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
Для его компиляции я заменю main() на int main(). Но я полагаю, что это не относится к вопросу. Программа компилируется и работает нормально. Но он просто не учитывает символы, как это было написано. Я что-то упускаю? Может ли что-то измениться в том, как современные компиляторы рассматривают пример кода, такой как это, поскольку книга была написана? Любая помощь, которую могут оказать хорошие люди на этой доске объявлений, была бы весьма признательна.
Best, Dan
Какой вклад вы даете программу и что печатается? – Mark
Вы даете программе файл для stdin? например программа <файл. –
Получите себе второе издание K & R. Первое издание представляет собой музейный экспонат, а к 20-летнему стандарту C89 - к десятилетию. (У меня есть копия первого издания, но я по-прежнему ценю его. Но сейчас не так, чтобы узнать, где C учится. Второе издание - это то, что нужно использовать.) –