Задать вопрос
@Gagatyn
Самоучка

Как проверить на ввод числа?

Здравствуйте.
Появилась непонятная ситуация у меня.
do { 
printf("enter item of grid: "); 
fflush(stdin); 
} while(scanf("%d", &input_number_grid) != 1 && printf("you need to enter number from 3 to %d\n", size_grid*size_grid) 
|| input_number_grid < 1 && printf("you need to enter > 0\n") 
|| input_number_grid > (size_grid*size_grid) && printf("you need to enter <= %d\n", size_grid*size_grid));

При такой проверки не допускаются буквы, символы, только числа. Но есть трюк такой строка 6оляля4ерный примится за истину, 6 или 4 будут использоваться. Как ограничить?
  • Вопрос задан
  • 60 просмотров
Подписаться Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности инфраструктуры на основе технологий Active Directory»
    4 месяца
    Далее
  • Академия Codeby
    Курс «Цифровая криминалистика и реагирование на инциденты ОС Linux (DFIR)»
    14 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Считывать по символьно с помощью getchar() и анализировать каждый символ.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы