Код:Чрезвычайно простая программа на C, почему я получаю такой вывод?
#include <stdio.h>
int main()
{
long cn=1;
char ch;
while((ch=getchar())!=EOF)
{
printf("%ld\t%c\n",cn++,ch);
}
}
Когда входное слово «секретный» и нажать кнопку ввода он показывает сосчитать до 7, а не 6, то почему?
'EOF' должен отличаться от любого персонажа! Таким образом, 'getchar' возвращает' int', а не 'char'. Включите предупреждения компилятора и относитесь к ним серьезно! – Olaf
[Почему переменная, используемая для хранения возвращаемого значения getchar, объявляется как int?] (Http://stackoverflow.com/q/18013167/995714) –