scanf(“%d”, input); 函数是从标准缓冲区中提取指定类型的数据,若标准缓冲区中没有数据,该函数就会等待,若缓冲区中的数据与指定数据类型不同,则会提取数据失败,若标准缓冲区有与指定类型不同的数据并且没有被清空,则scanf提取数据会一直失败, 所以需要清空缓冲区。
清空标准缓冲区: while(getchar()!=’\n’); (缓冲区最后一位为 \n).
printf()函数 只是把数据放入标准输出缓冲区中 , 系统只有遇到\n或系统自动刷新或缓冲区满的情况才会输出到屏幕 。