getchar与putchar在C语言中的作用

这篇具有很好参考价值的文章主要介绍了getchar与putchar在C语言中的作用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.getchar和putchar的作用

getchar          输入一个字符,但是其输出的内容是ASCII码值
ch = getchar     用一个变量去接收ASCII值
putchar(ch)    输出一个字符到屏幕上

getchar如果返回失败的话也会输出EOF EOF的本质是-1
  • 代替了scanf 和 printf 的输入输出字符的功能

2.案例分析

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

getchar与putchar在C语言中的作用

  • 代码并没有写入  \n  ,但是结果出现了自动换行的结果,这是为什么呢?
getchar和键盘之间有一个输入缓冲区,用于暂时存放键盘打出的字符,输入一个字符,
此时这个字符被存入输入缓冲区中,然后显示面板上会出现闪烁的光标,敲一下空格之后,
输入缓冲区会显示空格的字符\n,此时getchar开始工作,先接收字符,输出之后,
还会去接收\n   导致换行出现

getchar与putchar在C语言中的作用

3.getchar与putchar的具体应用场景

1.输入密码案例

#include<stdio.h>
int main()
{
	char password[20] = { 0 };
	int ch = 0;
	printf("请输入密码:");
	scanf("%s", password);
	printf("请确认密码(Y/N):");
	ch = getchar();
	if (ch == 'Y')
		printf("确认成功\n");
	else
		printf("确认失败\n");
	return 0;

}
  • 代码可以运行,但是无法确认,getchar无法正常工作,原因是什么呢?

getchar与putchar在C语言中的作用

1.原因分析 

getchar与putchar在C语言中的作用

  •  scanf不会取 \n,一旦有空格,scanf的工作就立即停止了

3.情景分析

  • 此时说明  \n(即空格) 影响了代码的运行,那么就需要再写代码将 \n  去除掉。
#include<stdio.h>
int main()
{
	char password[20] = { 0 };
	int ch = 0;
	printf("请输入密码:");
	scanf("%s", password);
	getchar();//将\n拿走了,而且不需要输出,因为是为了消灭\n
	printf("请确认密码(Y/N):");
	ch = getchar();
	if (ch == 'Y')
		printf("确认成功\n");
	else
		printf("确认失败\n");
	
	
	return 0;

}

4.增加情景(当密码中出现多个空格以及\n)

#include<stdio.h>
int main()
{
	char password[20] = { 0 };
	int ch = 0;
	printf("请输入密码:");
	scanf("%s", password);
	while (getchar()!='\n')
	{
		;
	}
	
	printf("请确认密码(Y/N):");
	ch = getchar();
	if (ch == 'Y')
		printf("确认成功\n");
	else
		printf("确认失败\n");
	
	
	return 0;

}

getchar与putchar在C语言中的作用

 2.只打印数字不打印字符习题

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

getchar与putchar在C语言中的作用文章来源地址https://www.toymoban.com/news/detail-474059.html

  • '0'的ASCII值是48,'9'的ASCII值是57,说明ch的范围就是48--57,只打印这个范围内的数字字符,其他字符不打印。

到了这里,关于getchar与putchar在C语言中的作用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • C语言基本语句(变量类型int、 float、 double、 char,函数scanf、printf、putchar()、getchar() )

    1. int, float, double, char ①整型int(对应%d)  int a,b;  scanf(\\\"%d,%d\\\",a,b); printf (\\\"%d\\\",a); printf(\\\"我今天吃了%d个苹果,在黑板上写下整数%d,这很有趣。\\\",a,b); //printf(\\\"……\\\",变量名)中,“……”部分内容比较自由,可随便发挥,但必须包括%d,几个变量名就对应几个%d ②单精度型浮点数

    2024年02月08日
    浏览(52)
  • C getchar & putchar函数

    目录 前言 1.getchar()函数 2.putchar()函数 3.清空缓冲区 3.1   缓冲区 3.2   场景 3.3   问题分析  3.4   改进(即清空缓冲区) C语言的字符输入函数getchar和输出函数putchar功能介绍,以及缓冲区的简单认识。 1. int getchar(void)  函数从屏幕读取下一个可用的字符,并把它返回为一个

    2024年02月12日
    浏览(35)
  • C语言如何使⽤ getchar()函数?

            字符数据输⼊使⽤的是 getchar()函数,那么该如何使⽤该函数呢?         getchar()函数的作⽤是从终端(输⼊设备)输⼊⼀个字符。该函数与 putchar() 函数不同之处是它没有参数。 该函数的定义如下。 使⽤ getchar()函数时也要添加头⽂件 stdio.h,函数的值就是从

    2024年02月20日
    浏览(27)
  • C语言中getchar()函数的详解

    getchar() 函数顾名思义就是获取一个字符,那么他从何处获取,返回值类型又是什么让我们在MSDN中找寻答案 我们可以看到 getchar() 函数的作用是从stdin(标准输入——键盘)获取字符,他的返回值类型是 int ,那我们不禁要问了,为什么 getchar() 读取的是一个字符而返回的却是

    2024年02月08日
    浏览(33)
  • 关于【C语言】中scanf与getchar的用法和常见错误详解

    写这篇博客的起因是最近博主自己学习中总是遇到类似的错误,并曾百思不得其解。 今天分享出来是希望帮助大家在写代码时避免这些错误。话不多说,我们直接开始吧! 君兮_的个人主页 勤时当勉励 岁月不待人 C/C++ 游戏开发 我们先来看看再MSDN里对scanf的解释 - scanf 的功能

    2024年02月05日
    浏览(51)
  • 【C语言初阶篇】scanf和getchar中缓存区的概念!

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,相信大家都多多少少了用过scanf和getchar()语句吧,但是关于缓存区的概念,我相信大多数人都没有听说过吧。    ⛳️ 写

    2024年02月14日
    浏览(49)
  • 教你快速了解C语言中的作用域和常量

      哈喽,各位铁汁们好啊!✨今天来给大家带来的是初识 C语言 里面的 作用域 、 常量 。   这几章主要带大家简单认识-一下C语言,俗话说 没吃过猪肉,也见过猪跑。 带大家了解下C语言。可以读懂C语言的简单程序,后期会给大家详细介绍C语言。 作用域 (scope)是程序

    2024年02月09日
    浏览(36)
  • C语言--getchar()函数超详细解析(多维度分析,小白一看就懂!!!)

    目录 一、前言 二、什么是getchar()函数 三、getchar()函数的返回类型与机制  四、连续单个字符串 (代码演示)  五、getchar()函数其他用法,实战演练(重点) (1)按照题目写出理想代码,but  出现了不理想的效果  (2)原因分析(原理详解) (3)解决方法  (4)再次练手

    2024年02月06日
    浏览(49)
  • getchar函数详解看这一篇就够了-C语言(函数功能、使用、返回值)

    首先要明确getchar的功能是:从计算机终端(一般是键盘)输入一个字符,其值就是输入得到的字符。 目录 getchar函数简介 getchar函数执行过程详解(配图)  getchar用法示例 解释一下:while ((ch=getchar()) != \\\'EOF\\\') 函数原型:int getchar(void);                                 返回

    2024年02月07日
    浏览(62)
  • 爱上C语言:scanf、gets以及getchar输入字符串你真的懂了吗

    🚀 作者:阿辉不一般 🚀 你说呢: 不服输的你,他们拿什么赢 🚀 专栏:爱上C语言 🚀 作图工具:draw.io ( 免费开源的作图网站) 如果觉得文章对你有帮助的话,还请点赞,关注,收藏支持博主,如有不足还请指点,博主及时改正,感谢大家支持!!! 大家好啊😉!今天阿

    2024年02月05日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包