@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);
}

но это никак не повлияло, все также зацикливается.
Как решить??
  • Вопрос задан
  • 7391 просмотр
Решения вопроса 1
15432
@15432
Системный программист ^_^
что вы подразумеваете под "зацикливается"?
первый вариант действительно после неправильного ввода начинает бесконечно писать "number", но второй вариант вполне адекватно спрашивает number, пока не получит корректный номер. если вам нужно спросить только один раз, уберите while, а условие var != 1 используйте далее для определения корректности ввода (при вводе число, var будет равен 1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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