Я практиковал C программу, я прочитал от The C ANSI Programming Language Second Edition
я узнаю о getchar()
function.And книги говорят, что getchar()
читать символ из стандартного ввода до символа новой строки или EOF
был reached.And в книге Я пытаюсь переписать программу для подсчета символов с помощью функции getchar()
.Конфигурация при компиляции. Проблема заключается в том, что код не может отображать длинный символ.GetChar() функция и EOF
Вот код:
#include <stdio.h>
int main (void){
long nc;
nc=0;
while(getchar()!=EOF)
nc++;
printf("%ld\n",nc);
return 0;
}
Но когда я изменить EOF
на символ новой строки \n
код работает, как я ожидал, но только дисплей длинный характер только одна линия. После этого код завершается.
Мой вопрос: EOF
точно есть и в чем разница между EOF
и символом новой строки.
Есть ли другой способ исправить эту программу?
Как вы ввели? try' ./a.out
BLUEPIXY
Это работает на меня. Но почему мы должны нажимать Ctrl + D, вы можете мне объяснить? Я все равно использую Linux. – harianja
CTRL + D вводится как EOF (вход несимвольный). – BLUEPIXY