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

这篇具有很好参考价值的文章主要介绍了getchar函数详解看这一篇就够了-C语言(函数功能、使用、返回值)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

目录

getchar函数简介

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

 getchar用法示例

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


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函数,初学c语言,c语言,开发语言

 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'仍然被留在了缓冲区。而这样是很不安全的,有可能下次使用的时候,我们的缓冲区会读到一些垃圾,但是当程序结束的时候,它会自动刷新。

getchar函数,初学c语言,c语言,开发语言

 getchar函数,初学c语言,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一次只能读取一个字符。

getchar函数,初学c语言,c语言,开发语言

 以上就是关于getchar的解析啦。如果对你有帮助,记得点赞👍+关注哦!
我的主页还有其他文章,欢迎学习指点。
关注我,让我们一起学习,一起成长吧!文章来源地址https://www.toymoban.com/news/detail-726976.html

到了这里,关于getchar函数详解看这一篇就够了-C语言(函数功能、使用、返回值)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么叫SSH?原理详解,看这一篇就够了!

    你们好,我的网工朋友。 SSH是一种加密的网络安全协议,用于安全地远程登录和执行命令。 目前SSH协议已经被全世界广泛使用,大多数设备都支持SSH功能。 但你真的会用吗? 今天就从SSH是什么、怎么用出发,给你详解一下之后在远程登录、端口转发等多种场景下要怎样使用

    2024年04月26日
    浏览(43)
  • gitee教程详解(超详细,看这一篇就够了!)

    Git是目前世界上最先进的 分布式版本控制系统 。它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。 那什么是版本控制系统? 版本控制系统不但能自动帮记录每次文件的改动,还可以让其他人协作编辑,这样就不用自己管理一堆类似的

    2024年02月08日
    浏览(48)
  • 精通线程池,看这一篇就够了

    当我们运用多线程技术处理任务时,需要不断通过new的方式创建线程,这样频繁创建和销毁线程,会造成cpu消耗过多。那么有没有什么办法 避免频繁创建线程 呢? 当然有,和我们以前学习过多连接池技术类似,线程池通过提前创建好线程保存在线程池中, 在任务要执行时取

    2023年04月17日
    浏览(95)
  • CSS基础——看这一篇就够了

    目录 一、CSS简介 1.CSS是什么? 2.CSS的作用 3.CSS的构成 二、CSS选择器 1.基础选择器 (1).标签选择器 (2)类选择器 (3)标签选择器 (4) 通配符选择器 2.复合选择器 (1)后代选择器(包含选择器) (2)子选择器 (3)并集选择器 (4)伪类选择器  三、基本属性 1.字体属性

    2024年02月09日
    浏览(70)
  • SourceTree使用看这一篇就够了

     你梦想有一天成为git大师,然而面对复杂的git命令,你感觉TMD这我能记得住吗?你曾经羡慕从命令行敲git命令,才会更加炫酷,然而时间一长,TMD命令我有忘了。那么今天我介绍的这款工具会让你从git命令中解救出来,这就是git可视化工具SourcTree。 事实上Git的功能十分强大

    2024年02月08日
    浏览(63)
  • Docker Volume 看这一篇就够了

    默认情况下,在容器内创建的所有文件都存储在可写容器层上。这意味着: 当该容器不再存在时,数据不会持续存在,并且如果另一个进程需要数据,则可能很难将数据从容器中取出。 容器的可写层与运行容器的主机紧密耦合。您无法轻松地将数据移动到其他地方。 写入容

    2024年02月02日
    浏览(96)
  • ElasticSearch常见用法,看这一篇就够了

    2024送书福利正式起航 关注「哪吒编程」,提升Java技能 文末送3本《一本书讲透Elasticsearch:原理、进阶与工程实践》 大家好,我是哪吒。 ElasticSearch是一款由Java开发的开源搜索引擎,它以其出色的实时搜索、稳定可靠、快速安装和方便使用的特性,在Java开发社区中赢得了广

    2024年03月19日
    浏览(70)
  • 还不会二分查找?看这一篇就够了

    二分查找分为整数二分和浮点数二分,一般所说的二分查找都是指整数二分。 满足单调性的数组一定可以使用二分查找,但可以使用二分查找的数组不一定需要满足单调性。 不妨假设我们找到了条件 C 1 C_1 C 1 ​ ,它和它的 对立条件 C 2 C_2 C 2 ​ 能够将数组 a a a 一分为二,

    2024年01月19日
    浏览(51)
  • CAS自旋锁,看这一篇就够了

    前序 时隔多年,杰伦终于出了新专辑,《最伟大的作品》让我们穿越到1920年,见到了马格利特的绿苹果、大利的超现实、常玉画的大腿、莫奈的睡莲、徐志摩的诗… 他说“最伟大的作品”并不是自己的歌,而是这个世界上最伟大的艺术作品们。 为什么要写CAS自旋锁呢?最近

    2023年04月08日
    浏览(44)
  • 超图(HyperGraph)学习,看这一篇就够了

    最近事多,好久没更新了,随便写写(Ctrl+V)点 一、超图定义 通常图论中的图,一条edge只能连接2个vertex,在超图中,不限量 如何理解呢,就用我正在做的KT问题来看:7道题目-7个顶点;4种概念-4条超边,其中第1,2,3题都是考察概念1的,则构建一个包含了这仨的超边,以此类

    2024年02月02日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包