Функции 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() некорректные значения?).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д