Я хочу, чтобы моя функция читала мою переменную, пока она не является целым числом. Мой учитель научил нас делать это, используя форму var=scanf("%d", &x)
, и если это строка, она будет равна нулю. Тем не менее, когда я ввожу строку, время l oop повторяется без запроса повторного ввода значения.
Вот мой алгоритм:
int returnValue(int a, int b)
{
int x, r;
do{
printf("Enter a value between %d and %d.\n", a, b);
r=scanf("%d", &x);
}while(x<a || x > b || r==0);
return x;
}
Если кто-то имеет представление о проблема, это было бы здорово.