Code:
#include <stdio.h>

int main() {
	unsigned int x = 0;
	int scanf_value = scanf("%u", &x);
	if (scanf_value != 1) {
		printf("The user has not entered a valid unsigned integer\n");
	}
	else {
		printf("The user has entered a valid unsigned integer\n");
	}
	return 0;
}
Why is it that if I input the value -1 it says the user has entered a valid unsigned integer? Isn't scanf() supposed to return the number of successful conversions?

Thank you.