scanf和getchar的区别有四种分别是:函数格式不同、读取方式不同、结束输入的方式不同和舍弃回车符的方法不同。
一、函数格式不同
scanf函数是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量中。
getchar函数是键盘输入函数,其功能是从键盘上输入一个字符。
二、读取方式不同
scanf函数在读取数字时会跳过空格、制表符和换行符。
getchar函数只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符。
三、结束输入的方式不同
scanf函数以空格、Enter、Tab结束一次输入,不接受空格符。
getchar函数以Enter结束输入(空格不结束),接受空格符。
四、舍弃回车符的方法不同
scanf函数以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中)。getchar函数以Enter结束输入时,接受空格,会舍弃最后的回车符。
关于scanf()函数和getchar()函数的拓展:
一、scanf()函数
scanf是C语言的格式输入函数是通用终端格式化输入函数,它从标准输入设备(键盘)读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。
二、getchar()函数
getchar()是在输入缓冲区【顺序】读入【一个】字符(包括Space、Enter和Tab还有字母,数字别忘了也算符号)依旧以Enter键结束,只不过Enter键也会被放入缓冲区。
标签:getchar,scanf,区别