C语言getchar()函数解析

1.首先getchar()函数包含在#include<stdio.h>头文件中,请看下面的例子:

下面是C程序的基本结构请自己动手编写试试,不要眼高手低。
/*std是standard单词的缩写,标准的意思,i是input单词的缩写输入的意思,o是output单词的缩写,
  输出的意思连起来读就是标准输入输出。
*/
#include<stdio.h>//头文件
int main(void)   //主函数,一个C程序有且只有一个主函数
{
	char a;		 //定义一个字符变量用于存放单个字符
	a=getchar(); //切记getchar()函数括号内没有任何东西
	printf("%c\n",a);//%c是占位符,表示的是要输出一个字符
	return 0;    //函数的返回值
}
运行结果:
abc(输入)
a(输出)//该函数每次只能取一个字符

2.getchar()函数的执行过程
程序执行到getchar()函数这里以后,自动从输入缓冲区中去找字符,如果输入缓冲区中没有字符的话,那么就等待用户输入字符,此时用户使用键盘输入的,请问您输入到哪里了?其实是输入到输入缓冲区中了,键盘输入字符的时候首先进入输入缓冲区,然后getchar()函数获得的字符是从输入缓冲区中提取的且每次只能提取一个字符。

下面这段程序搞懂就明白了。
#include<stdio.h>
int main()
{
	char a;
	a=getchar();
	putchar(a);
	a=getchar();
	putchar(a);
	a=getchar();
	putchar(a);
	return 0;
}
abc(键盘输入abc按回车)
abc(结果)
a bc(a和b中有一个空格,然后按回车)
a b(结果)
a和b之间有一个空格这就说明了空格也算一个字符,加在一起共三个字符。

3.图形理解:
在这里插入图片描述

总结:
	程序一旦运行到getchar()函数这里以后,就会自动的去输入缓冲区中寻找字符,如果有字符的话则提取该字
	符(每次只能提取一个),提取出来以后这个字符就不在输入缓冲区里了,如果一个程序里有多个getchar()函
	数的话,那么按照顺序执行getchar()函数,一旦某个getchar()函数从输入缓冲区中找不到字符了,那么就
	会让用户输入一个字符,直到所有的getchar()函数都能从输入缓冲区中提取到字符为止。
注意:
	scanf()函数也有输入缓冲区,当输入数据时,用户输入的数据是进入输入缓冲区里了,这里的输入缓冲区和
	getchar()函数的输入缓冲区是同一个缓冲区。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值