Сколько символов во входном потоке - 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;
}

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

  1. Подключение стандартной библиотеки ввода-вывода
  2. Объявление переменных: — chr — символ, получаемый из стандартного ввода — count — счетчик количества символов
  3. Бесконечный цикл, прерываемый только при вводе символа новой строки
  4. Вывод сообщения с просьбой ввести данные
  5. Чтение символа в переменную chr с помощью функции getchar()
  6. Вывод первого символа с помощью функции printf()
  7. Пока введенный символ не является символом новой строки, происходит чтение следующего символа и увеличение счетчика count на единицу
  8. Если count не равно нулю, то выводится количество символов в буфере
  9. Если count равно нулю, то выводится сообщение о том, что ввод состоит только из одного символа
  10. Завершение цикла и возврат нуля, что означает успешное завершение программы

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


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

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

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