scanf() leaves the newline character in the buffer
The scanf() function skips leading whitespace automatically before trying to parse conversions other than characters. The character formats (primarily %c; also scan sets %[…] — and %n) are the exception; they don’t skip whitespace. Use ” %c” with a leading blank to skip optional white space. Do not use a trailing blank in a scanf() … Read more