Сколько символов во входном потоке - C (СИ)
Формулировка задачи:
Если сделать scanf("%c",&ch) и ввести "123", то в ch окажется '1'. Как проверить остались ли какие-либо символы во входном потоке? Это нужна для того, чтобы если там остался мусор сообщить об этом и выдать ошибку.
Решение задачи: «Сколько символов во входном потоке»
textual
Листинг программы
#include <stdio.h> int main() { char chr; int count = 0; while(1) { printf("Your input : "); chr = getchar(); printf("First char : %c\n", chr); while(chr != '\n') { chr = getchar(); count = count + 1; } if(count) printf("Count of symbols in buffer : %d\n",count); else printf("Your input is only from 1 symbol\n"); } return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление переменных: — chr — символ, получаемый из стандартного ввода — count — счетчик количества символов
- Бесконечный цикл, прерываемый только при вводе символа новой строки
- Вывод сообщения с просьбой ввести данные
- Чтение символа в переменную chr с помощью функции getchar()
- Вывод первого символа с помощью функции printf()
- Пока введенный символ не является символом новой строки, происходит чтение следующего символа и увеличение счетчика count на единицу
- Если count не равно нулю, то выводится количество символов в буфере
- Если count равно нулю, то выводится сообщение о том, что ввод состоит только из одного символа
- Завершение цикла и возврат нуля, что означает успешное завершение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д