Задать вопрос
@MajorTom69

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

Пробовал так:
#include <stdio.h>
int main(void){
int N, var;
do {
printf("number = ");
var = scanf("%i", &N);
}while (var != 1);
}

но этот вариант зацикливается, нашел в сети решение такого плана
#include <stdio.h>
int main(void){
int N, var;
do {
printf("number = ");
var = scanf("%i", &N);
fflush(stdin);
}while (var != 1);
}

но это никак не повлияло, все также зацикливается.
Как решить??
  • Вопрос задан
  • 8235 просмотров
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Академия Codeby
    Курс «Введение в Реверс инжиниринг»
    1 месяц
    Далее
  • Академия Codeby
    Курс «Реверсивный инжиниринг ПО под ОС Windows»
    26 недель
    Далее
Решения вопроса 1
15432
@15432
Системный программист ^_^
что вы подразумеваете под "зацикливается"?
первый вариант действительно после неправильного ввода начинает бесконечно писать "number", но второй вариант вполне адекватно спрашивает number, пока не получит корректный номер. если вам нужно спросить только один раз, уберите while, а условие var != 1 используйте далее для определения корректности ввода (при вводе число, var будет равен 1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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