谁帮小弟我看看为什么但小弟我把fflush函数去掉时,就不能向string中输入字符串,能否帮小弟我讲讲其中的原因?

哪位高手帮我看看为什么但我把fflush函数去掉时,就不能向string中输入字符串,能否帮我讲讲其中的原因??
#include <stdio.h>
#include <conio.h>

void main( void )
{
  int integer;
  char string[81];
  char str[50];
  /* Read each word as a string. */
  printf( "Enter a sentence of four words with scanf: " );
  for( integer = 0; integer < 1; integer++ )
  {
  scanf( "%s", string );
  printf( "%s\n", string );
  }

  /* You must flush the input buffer before using gets. */
  //清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件;
  fflush( stdin );
  //fscanf(stdin,"%s",str);
  //puts(str);
  printf( "Enter the same sentence with gets: " );
  gets( string );
  fflush( stdin );
  printf( "%s\n", string );
}

------解决方案--------------------
因为之前用过scanf,stdin缓冲区还有东西
------解决方案--------------------
《UNIX环境高级编程》的第五章有讲到这方面的内容 
使用fflush(stdin)冲洗掉文件缓冲区的内容 这样下次读取才不会出错