Функции getchar и putchar работают некорректно - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здраствуйте. Изучал язык Си. Функции getchar и putchar работали некорректно. Вот программа.
#include <stdio.h>
 
/*копирование ввода на вывод, 1-ая версия*/
main()
{
char c;
while ((c = getchar())!= EOF) 
    putchar(c);
}
Почему, когда нажимаешь Enter программа выводит результат? По идее программа должна выводить результат только когда нажмешь ctrl+z. Win XP. Компилятор Miracle C. Может поставить Lunex и все будет работать отлично? Какую сборку тогда ставить? Можно ли совместно с XP? Всех вам благ.

Решение задачи: «Функции getchar и putchar работают некорректно»

textual
Листинг программы
#include <conio.h>
int main()
{
    char c;
    while ((c = getch())!= '\r') 
         putch(c);
}

Объяснение кода листинга программы

  1. Включение библиотеки - обеспечивает доступ к функциям getch() и putch().
  2. Создание переменной типа char c; - будет использоваться для хранения значения, полученного от функции getch().
  3. Запуск цикла while, который будет выполняться до тех пор, пока значение, полученное от функции getch(), не будет равно символу '\r' (возвращает функция getch() некорректные значения?).
  4. Внутри цикла while значение переменной c присваивается результату функции getch() (возможно, функция getch() не работает корректно).
  5. Значение переменной c выводится на экран с помощью функции putch() (возможно, функция putch() также не работает корректно).
  6. Цикл while продолжается до тех пор, пока значение переменной c не станет равным символу '\r' (возвращает функция getch() некорректные значения?).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы