scanf在读取时,遇到空格,tab,换行符会停止读取(输入的东西都放在缓冲区,再读取),此时scanf只会读取前面的数据,,所以,缓冲区就剩下空格后面的内容.(如果缓冲区里有内容,用scanf或者getchar就直接读取时,不用你在键盘上重新输入)我们可以改变scanf的一些参数来让scanf获取全部内容: scanf("%[^\n]",arr);在获取完全部内容后,缓冲区里就剩下一个回车符,所以需要用getchar()来清除缓冲区.用法如下: scanf("%d",arr); getchar();//此时不用输入,因为缓冲区里有一个字符(回车)一般scanf和ge...