文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言中getchar函数详解看这一篇就够了(函数功能、使用、返回值)

2023-02-28 11:15

关注

首先要明确getchar的功能是:从计算机终端(一般是键盘)输入一个字符,其值就是输入得到的字符。

getchar函数简介

函数原型:int getchar(void);                                 返回类型为int,参数为void

头  文  件:#include<stdio.h>

返  回  值: 1、getchar返回的是字符的ASCII码值(整数)。
                   2、getchar在读取结束或者失败的时候,会返回EOF。

                        (EOF意思是end of file,本质上是-1)

读取方式:只能输入字符型,输入时遇到回车键才从缓冲区依次提取字符。

结束输入的方式:以Enter结束输入(空格不结束),接受空格符。

舍弃回车符的方法:以Enter结束输入时,接受空格,会舍弃最后的回车符。

getchar函数执行过程详解(配图)

       程序执行到getchar()函数时,自动从输入缓冲区中去找字符,如果输入缓冲区中没有字符的话,那么就等待用户输入字符,此时用户使用键盘输入的字符,被输入到输入缓冲区中,键盘输入字符的时候首先进入输入缓冲区,然后getchar()函数获得的字符是从输入缓冲区中提取的且每次只能提取一个字符

​getchar用法示例

#include<stdio.h>
int main()
{
	char ch = getchar();//输入字符
	putchar(ch);
	return 0;
}

它的简单意思就是从键盘读入一个字符,然后输出到屏幕。理所当然,我们输入A,输出就是A,输入B,输出就是B。

那么我们如果输出的是ABC呢?答案是A。

解释如下:当我们从键盘输入字符‘A’,‘B’,  'C',并按下回车后,我们的输入被放入了输入缓冲区,这个时候getchar()会从缓冲区中读取我们刚才的输入,一次只读一个字符,所以字符A就被拿出来了,赋值给了ch,然后putchar()又将ch放在了标准输出,也就是这里的屏幕,所以我们看见了最终的显示结果A。同时字符‘A’也被缓冲区释放了,而字符‘B’,'C'仍然被留在了缓冲区。而这样是很不安全的,有可能下次使用的时候,我们的缓冲区会读到一些垃圾,但是当程序结束的时候,它会自动刷新。

解释一下:while ((ch=getchar()) != 'EOF')

#include<stdio.h>
int main()
{
	char ch ;
	while ((ch=getchar()) != 'EOF')
	{
		putchar(ch);
	}
	return 0;
}

getchar先读取一个字符放到ch里面去,如果这个字符不等于EOF,就进入循环,打印这个字符。当getchar读到文件末尾或者结束时,它会返回一个EOF,此时结束循环。

注意:如果上面的代码不用while循环的话,输入ABC,putchar()只会输出A。因为一个getchar一次只能读取一个字符。

到此这篇关于C语言中getchar函数详解看这一篇就够了(函数功能、使用、返回值)的文章就介绍到这了,更多相关C语言 getchar函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯