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); // сброс
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д