I want the code to run until the user enters an integer value.
The code works for char and char arrays.
I have done the following:
#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;
}
The problem is if the user inputs a float value scanf will accept it.
Please enter an integer: abcd
Please enter an integer: a
Please enter an integer: 5.9
You entered: 5
How can that be avoided?