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); // сброс