scanf和getchar的区别

一、函数格式不同

scanf函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中。

getchar函数是键盘输入函数,其功能是从键盘上输入一个字符。

二、读取方式不同

scanf函数在读取数字时会跳过空格、制表符和换行符。

getchar函数只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符。

三、结束输入的方式不同

scanf函数以空格、Enter、Tab结束一次输入,不接受空格符。

getchar函数以Enter结束输入(空格不结束),接受空格符。

四、舍弃回车符的方法不同

scanf函数以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中)。

getchar函数以Enter结束输入时,接受空格,会舍弃最后的回车符。


scanf和getchar的区别