Неправильная работа putchar() - C (СИ)
Формулировка задачи:
Доброго дня суток.
бида пришла из ниоткуда: в простом, вроде бы, задании, функция putchar() никак не хочет выводить вводимый символ, только если оный вводится больше чем одним символом. Пытался решить проблемы сам - не вышло ничего. Решил выложить сюда - может что и поможете.
P.S. Знаю, что нубо-задание и нубо-код, но проблемы это не отменяет -_- Заранее спасибо
#include <conio.h>
#include <stdio.h>
int main (void)
{
int c, i = 0;
printf("\n\t Enter symbols step-by-step :");
while ( (c = getchar()) != EOF)
{
scanf_s(c); putchar(c;)
++i;
}
printf("\n\t amount of symbols is: %d", i);
printf("\n\t Press any key to continue: ");
_getch();
return 0;
}Решение задачи: «Неправильная работа putchar()»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i = 0, c = 0;
printf("\n Enter symbol-by-symbol the offer \"Hello, world\",\n press twice Ctrl+Z and press Enter:\n");
printf("\t");
while (c != EOF)
{
printf("\t");
c = getchar();
putchar(c);
++i;
}
printf("\n\t The number of characters: %d\n", i);
printf("\n Press any key: ");
_getch();
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
, . - Создание функции main()
- Объявление переменных: a. i - счетчик количества символов; b. c - символ, считываемый из стандартного ввода; c. EOF - конечный символ ввода.
- Вывод приглашения для ввода строки
Hello, worldс использованием функции printf(). - Ввод символов строки с использованием функции getchar() и их вывод с использованием функции putchar().
- Увеличение счетчика символов i на единицу после каждого ввода символа.
- Проверка условия окончания ввода (c != EOF).
- Вывод количества введенных символов с использованием функции printf().
- Вывод приглашения для нажатия любой клавиши с использованием функции printf().
- Использование функции _getch() для получения кода нажатой клавиши.
- Возврат значения 0 для завершения работы функции main().