喵呜 来啦来啦:C语言gets(),scanf()与getchar()函数的区别
Posted 爱吃榴莲的喵星人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了喵呜 来啦来啦:C语言gets(),scanf()与getchar()函数的区别相关的知识,希望对你有一定的参考价值。
喵博主在刚刚接触这些输入函数的时候,也是朝天喵喵喵,今天给大家梳理一下,希望对你们有帮助,以下内容是喵博主个人的总结,文中有知识错误,请大家指出,相互学习,共同进步。
scanf( )函数和gets( )函数都可用于输入字符串,getchar()函数用于读取字符;
scanf()函数可以读取所有类型的变量,不能接收空格,遇到空格、回车和Tab键都会认为输入结束。
gets()函数用于输入字符串,可以接收空格,遇到回车认为输入结束;
getchar()函数可以接受空格,回车等字符;
举个栗子:
#include<stdio.h> int main() char password[20]; scanf("%s",&password); printf("%s", password); return 0;
其中 空格ghjj就被放入缓存区了
#include<stdio.h> int main() char password[20]; scanf("%s",&password); printf("%s\\n", password); getchar(); char k=getchar(); putchar(k); return 0;
其中,空格被第一个getchar拿走,g被第二个getchar拿走赋值给k,输出。
注意:
scanf :当遇到回车,空格和tab键会认为输入结束,但是回车,空格和tab键仍会留在输入的缓冲区中。
gets:可接受回车键之前输入的所有字符,回车键不会留在输入缓冲区中
举个栗子证明一下下:
如果gets()函数没有带走\\n,getchar将接受\\n,getchar将不输入r,也不会输出r。
以上是关于喵呜 来啦来啦:C语言gets(),scanf()与getchar()函数的区别的主要内容,如果未能解决你的问题,请参考以下文章