1.
使用scanf()函数从终端输入字符串时,刚开始输入的所有空格不计入当前字符串,以space,enter,tab键结束当前字符串的输入;最后的space,enter,tab字符会留在输入缓冲区内,不计入字符串.
使用getchar()从终端读入一个字符时,会接收输入的任意字符中的第一个字符,以enter键结束输入;最后的enter字符会留在输入缓冲区.
使用gets()从终端输入字符串时,,会接收以任意字符开始的字符串,以enter键结束输入;最后的enter字符不会留在缓冲区.
为了避免出现问题,必须要清空缓冲区的残留数据,可以用以下的方法解决:方法1:C语言里提供了函数清空缓冲区,只要在读数据之前先清空缓冲区就没问题了! 这个函数是fflush(stdin);方法2:自己取出缓冲区里的残留数据. scanf(“%[^\n]”,string);
2.在数据大量的情况下,用gets()读取快于scanf()10倍以上。
第一个青春是上帝给的;第二个的青春是靠自己努力的