I have written some C code where you can pick from an answer by inputting a 1 or 2, and if you input a higher number it will bring you back to pick another number just fine. However, if I try to input something that's not a value or a number, like a string or character, the error message at the bottom will repeat infinitely. How can I make my code act the same as if you input a higher number than 1 or 2 when you input any other character? Here the code I use abstracted:
#include <stdio.h>
int a;
int main(){
    b:scanf("%d", &a);
    if(a==1)
    {
        a=0;
    }
    if(a==2)
    {
        a=0;
    }
    else
    {
        a=0;
        printf("\nERROR: Please try again.\n\n");
        goto b;
    }
}
EDIT: Apparently the return value is still stuck in scanf() when it returns to it. How can I clear out scanf() of its return value?
 
     
     
    