As a little background, I am quite new to the C Programming Language and as such have been attempting to work through some of the exercises in the second edition of the Kern
I'd guess standard input is line-buffered (it is on Unix). DOS had some getch() and getche() functions that are lower-level than stdio, so they bypass stdio buffering. I don't know how to disable input buffering on Windows, on Unix it's done by setting the terminal to non-canonical mode.