I wrote this code, and all it meant to do is input ints until a negative is entered:
int result = 0, input_number = 0;
while(input_number >= 0){
    printf("Please enter students IDs(negetive to stop)= ");
    result = scanf("%d", &input_number);
    if(result != 1){
        printf("Invalid input! try again...\n");
        continue;
    }
}
When the input is an int- everything works fine,
But when entering a char (any char the is not int),
The loop becomes endlessly and scanf doesn't request any input anymore.
DO NOT suggest I use a replacement for scanf cause it's a work for school, and scanf must be used.
After entering char output:
Please enter students IDs(negetive to stop)= 4
Please enter students IDs(negetive to stop)= 5
Please enter students IDs(negetive to stop)= r
Please enter students IDs(negetive to stop)= Invalid input! try again...
Please enter students IDs(negetive to stop)= Invalid input! try again...
Please enter students IDs(negetive to stop)= Invalid input! try again...
Please enter students IDs(negetive to stop)= Invalid input! try again...
Please enter students IDs(negetive to stop)= Invalid input! try again...
Please enter students IDs(negetive to stop)= Invalid input! try again...
...
 
    