В общем, решил скомпилить программку на С.
Программа должна всего лишь копировать входной поток в выходной по одному символу, то есть, тупо копировать введённые мной символы и выводить их на экран до тех пор, пока я не введу значение EOF, что, вроде бы, являеться -1.
вот код:
#include <stdio.h>
main()
{
int c;
c=getchar();
while (c!=EOF) {
putchar(c);
c=getchar();
}
}
Программа компилится и работает, но не прекращает работу даже после того, как я введу -1. На всякий случай написал программу, прекращающую работу при вводе числа 3. вот код:
GNU nano 2.2.2 Файл: 10.c
#include <stdio.h>
main()
{
int c;
c=getchar();
while (c!=3) {
putchar(c);
c=getchar();
}
}
Тот же результат... программа, при вводе "3", делает то же, что и со всеми остальными символами - копирует в выходной поток. так, как будто я и не писал условия (c!=3)... В чём причина? Я что то совсем неправильно сделал?