Здравствуйте, я учу себя C и изучаю книгу K & R, и у меня возникли некоторые проблемы (я использую OS X). Это из раздела 1.5.1 «Копирование файлов», который должен принимать символ в качестве ввода, а затем выводить символ. Вот код:
#include <stdio.h>
/* -- Copy input to output -- */
int main(void)
{
int c;
c = getchar();
while ( c != EOF ) {
putchar(c);
c = getchar;
}
}
Итак, я думаю, что моя проблема не в самом коде, а в компиляции и запуске. Прежде всего, при компиляции я получаю следующие ошибки
/Volumes/Goliath/Dropbox/C programs/prog1_5_1.c: In function ‘main’:
/Volumes/Goliath/Dropbox/C programs/prog1_5_1.c:12: warning: assignment makes integer from pointer without a cast
/Volumes/Goliath/Dropbox/C programs/prog1_5_1.c:16: warning: control reaches end of non-void function
Затем, когда я запускаю выходной файл (в терминале), он имеет небольшой пробел, затем, когда я ввожу букву, скажем, что я набираю
а
тогда я нажимаю Return
и я получаю новую строку. Если я тогда нажму новую клавишу, экран начнет сходить с ума от вопросительных знаков повсюду.
Я не уверен, что в этом много смысла, но я считаю, что это странная проблема. Большое спасибо заранее