what is the purpose of putting a space in scanf like this scanf(" %c",&ch) in place of scanf("%c",&ch)?
So that scanf
would ignore all spaces before the first non-space character is encountered in the stream.
Also what is input buffer in fflush(stdin)?
What you input into the console will exist in the stdin
stream.
Don't flush that stream however, it's undefined behavior.
If you want to discard characters entered after scanf
is called, you can read and discard them.