Я хочу, чтобы код выполнялся до тех пор, пока пользователь не введет целочисленное значение.
Код работает для массивов char и char.
Я сделал следующее:
#include<stdio.h>
int main()
{
int n;
printf("Please enter an integer: ");
while(scanf("%d",&n) != 1)
{
printf("Please enter an integer: ");
while(getchar() != '\n');
}
printf("You entered: %d\n",n);
return 0;
}
Проблема в том, что пользователь вводит значение float scanf
, которое примет его.
Please enter an integer: abcd
Please enter an integer: a
Please enter an integer: 5.9
You entered: 5
Как этого можно избежать?