No, scanf() can not be made to accept "default values". You have to get the input, check it for emptyness, and assign a default value yourself.
As you found out, scanf() is tricky; I concur with extraneon that fgets() is probably what you are looking for.
Edit:
The reason why scanf() is not reacting... scanf() returns after it a) processed all conversion specifiers or b) encountered an error. As with all conversion specifiers ("%s" in this case), leading whitespace is skipped. Additionally, "%s" reads all characters until the next whitespace.
Pressing return inserts a '\n' into standard input. So, if you press return before you entered anything else (except perhaps a couple of tabs and spaces), scanf() skips your input and proceeds to wait for non-whitespace input.
Whatever you enter, scanf() won't "see" it until you press return, because your input is held in the console buffer. (You wouldn't be able to backspace through your input otherwise.) Pressing return again enters "\n" into the input stream, so your "%s" is terminated even if you did not enter any tabs / spaces on the line you typed.
If you did enter whitespaces, your cMountDrivePath would only contain the first "word" up to the first whitespace, which is why leaving spaces in directory or file names makes things so damn annoying. It would also leave the rest of the line in the input buffer, so the next time you call scanf() it wouldn't immediately ask for input, but proceed to process whatever was buffered during the previous call - another annoying detail for scanf() beginners to watch out for.
I hope this cleared things up a bit for you (and others yet to come).