喵呜 来啦来啦: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()函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

喵呜,来啦来啦:你真的了解if,if else吗

喵呜:C++基础系列来啦来啦:namespace命名空间详解

图文详解 C 语言基础,来啦!

图文详解 C 语言基础,来啦!

它来啦 ! 这就是你们想要的C++吗?

C语言第一章word文档来啦!