Scanf читает 2 символа для 1 переменной - C (СИ)

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

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

Добрый вечер. Бьюсь над проблемой следующего характера: составил функцию, которая выдает True если введенный символ буква, и False в противном случае. Вопрос не в том, как это осуществлять, уже наткнулся на форуме, но мне надо ручками это делать, а не имеющейся функцией. Проблема в том, что у меня переменная (не массив) типа char, а scanf() читает как символ, так и Enter (точнее только 10 символ от него). Как избежать считки это 10 символа??? Вот собственно код:
 
#include <conio.h>
#include <stdio.h>

int control(int var)
{
   
/* Проверим диапазон A-Z или a-z по таблице ASCII*/
  
  if (var >= 65 && var <= 90 || var >= 97 && var <= 122)
  {
  printf ("True\n");
  }
 else printf("False\n");
 
}
 
void main()
{
 char var;
 printf("Enter symbol:");
 
 while(var != ' ')
 {
  printf("\n");
  scanf("%c",&var);
  control(var);
 }
 
}

Решение задачи: «Scanf читает 2 символа для 1 переменной»

textual
Листинг программы
fflush(stdin); // сброс

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


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

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

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