No.
The scanf() functions don't do much in the way of parsing input. About the most you can do is tell them to read some number of digits, e.g.
scanf("%3d", &x);
That will read up to 3 digits from the input - stopping the scan at the first non-digit character. This means that if your user enters a number like 1234567, then the digits 4567 will be the available for the next input. What you need to do is to read the next
token (whatever that might mean in your context, but usually something delimited by white space, but not always), and then validate it against expectations. That's almost always a good idea, since it can proactively protect you against malicious intent ( obligatory xkcd reference :
xkcd: Exploits of a Mom[
^] )
If you're tempted to write a function to read by character from stdin to validate as you go using getchar, be aware that input line buffered by default, which means that no data is sent to the program until [Enter] is pressed. You can turn line buffering off, but you'll have to check your OS documentation to find out how.
If you are on Linux, and would like to progress to a full-screen TUI app, then perhaps look into ncurses as an option