Programmer Question
I am confused by a piece of code found in a function I am studying:
    char    GetCommand( void )
{
    char    command;
    do {
        printf( "Enter command (q=quit, n=new, l=list):  " );
        scanf( "%c", &command );
        Flush();
    }
    while ( (command != 'q') && (command != 'n')
           && (command != 'l') );
    printf( "\n----------\n" );
    return( command );
}
void    Flush( void ) {
    while ( getchar() != '\n' )
        ;
}
What I don't quite understand here is the usage of the Flush() function. I mean, the book I am reading explains the Flush function by saying that it prevents the user from inputting more than a single character and then having that character read when they are prompted for input the 2nd time. What I don't understand is how is Flush() preventing this from happening? It doesn't DO anything. All it is, is a 'while' command. (While this is true......what?????) Doesn't make sense.
Find the answer here
 
No comments:
Post a Comment