I was trying to ask for an input. If it is not an integer, then it should ask for the input again and that's why I use recursion as below.
#include <stdio.h>
void hi() {
int a;
printf("Input a: ");
if(scanf("%d", &a) == 0)
a = -1;
switch(a) {
case 1:
printf("Hello!");
break;
case 0:
return;
default:
hi();
return;
break;
}
}
int main()
{
hi();
return 0;
}
The output is
Input a: *asd* Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a: Input a:
Why won't the scanf in hi() working when I input non-integer value (It doesn't stop the printf and ask for my input) How do I fix it?