C语言scanf(),gets()和getchar()函数的区别和详解

编辑:谯胜平      分类:程序与算法      标签:scanf,gets,getchar      发布时间:2019-05-08      浏览次数:1340

C语言中的gets()函数,scanf()函数和getchar()函数都是输入函数,使用时容易混淆出错,下面是一个详细的区别:

图1 scanf(),gets()和getchar()的区别和详解

函数名称函数作用结束标志使用实例注意事项
scanf( )读取数字,字符串等Space,Enter,Tabscanf("%d", &n)缓冲区会留下换行符
gets( )读取字符串Enter
gets(a)

①空格不结束,接受空格;

②缓冲区内不留下换行符,读取之后舍弃换行符,字符串末尾使用'\0'代替;

③读取速度比scanf()快;

getchar( )读取单个字符Enterchar c = getchar()

①每次仅读取单个字符;

②可用于读取scanf()函数执行之后缓冲区留下的换行符;



看不清?换一个