Функции getchar и putchar работают некорректно - C (СИ)
Формулировка задачи:
Здраствуйте. Изучал язык Си. Функции getchar и putchar работали некорректно. Вот программа.
Почему, когда нажимаешь Enter программа выводит результат? По идее программа должна выводить результат только когда нажмешь ctrl+z.
Win XP. Компилятор Miracle C. Может поставить Lunex и все будет работать отлично? Какую сборку тогда ставить? Можно ли совместно с XP?
Всех вам благ.
#include <stdio.h>
/*копирование ввода на вывод, 1-ая версия*/
main()
{
char c;
while ((c = getchar())!= EOF)
putchar(c);
}Решение задачи: «Функции getchar и putchar работают некорректно»
textual
Листинг программы
#include <conio.h>
int main()
{
char c;
while ((c = getch())!= '\r')
putch(c);
}
Объяснение кода листинга программы
- Включение библиотеки
- обеспечивает доступ к функциям getch() и putch(). - Создание переменной типа char c; - будет использоваться для хранения значения, полученного от функции getch().
- Запуск цикла while, который будет выполняться до тех пор, пока значение, полученное от функции getch(), не будет равно символу '\r' (возвращает функция getch() некорректные значения?).
- Внутри цикла while значение переменной c присваивается результату функции getch() (возможно, функция getch() не работает корректно).
- Значение переменной c выводится на экран с помощью функции putch() (возможно, функция putch() также не работает корректно).
- Цикл while продолжается до тех пор, пока значение переменной c не станет равным символу '\r' (возвращает функция getch() некорректные значения?).