I am trying to write a simple c program that takes input using scanf, and ensures that this input is an integer. To do this I have written a recursive function, but the function goes into an infinite loop if I enter a non-integer character. I've attatched the code below.
#include <stdio.h>
int getInput() {
int success = 0;
int input;
printf("Enter a positive integer: \n");
success = scanf(" %d", &input);
if (success == 0 || input < 0) {
return getInput();
}else return input;
}