Arrangement of the method of inputting only numerical values using scanf () in C code.
Reference http://f4.aaacafe.ne.jp/~pointc/log460.html
Reference http://www9.plala.or.jp/sgwr-t/lib/sscanf.html
Return value It can be 0. For example, if "A" is specified for str and "% d" is specified for the format specification, no input will be made and 0 will be returned.
When the return value is larger than 0, judge it as a numerical value.
http://ideone.com/3dx63s
#include <stdio.h>
int inputNumericValue() {
	int val;
	char buf[512];
	
	printf("[Please enter a number]\n");
	fgets(buf, sizeof(buf), stdin);
	if (sscanf(buf, "%d", &val) > 0) {
		printf(">> %d\n", val);
	} else {
		printf(">> ERROR:It is not a number.\n");
	}
}
int main(void) {
	inputNumericValue();
	inputNumericValue();
	inputNumericValue();
	return 0;
}
stdin
A
3
1
4
result
[Please enter a number]
>> ERROR:It is not a number.
[Please enter a number]
>> 3
[Please enter a number]
>> 1