Как перед следующей итерацией опустошить stdin - C (СИ)
Формулировка задачи:
Ситуация. В программе есть цикл. До цикла объявление В начале цикла:
ну или
Наверное, разница не играет большой роли.
Внимание вопрос, как перед следующей итерацией опустошить stdin, чтобы из него не вылез, например символ новой строки, попадающий туда после нажатие Энтера?
char c;
scanf ("%c", c);с = getchar ();
Решение задачи: «Как перед следующей итерацией опустошить stdin»
textual
Листинг программы
#include <stdio.h>
int main( void )
{
int integer;
char string[81];
/* Read each word as a string. */
printf( "Enter a sentence of four words with scanf: " );
for( integer = 0; integer < 4; integer++ )
{
scanf( "%s", string );
// Security caution!
// Beware allowing user to enter data directly into a buffer
// without checking for buffer overrun possiblity.
printf( "%s\n", string );
}
/* You must flush the input buffer before using gets. */
fflush( stdin ); // fflush on input stream is an extension to the C standard
printf( "Enter the same sentence with gets: " );
gets( string );
printf( "%s\n", string );
}