目录:

1、getchar()和putchar()函数的定义。

2、getchar()函数为什么用int定义返回值类型。

3、函数getchar()和函数scanf()的工作原理。


一、getchar()和putchar()函数的定义。

getchar()和putchar()是一对字符输入/输出函数。getchar()不带任何参数,getchar()用于读取用户从键盘输入的单个字符。putchar()向终端输出一个字符,其格式为putchar()。getchar()和putchar()函数包含在头文件stdio.h中,使用时需包含此头文件。

举例:

#include<stdio.h>int main()
{int ch = getchar();//实际变量ch中放的是读到的那个字符的ASCII码值putchar(ch);//putchar接收到一个参数(ASCII码值),输出相对应的字符return 0;
}

 二、getchar()函数为什么用int定义返回值类型。

getchar()函数的返回值类型时整形,当发生读取错误时,返回整型值是-1,把一个负值赋给一个char型的变量是不正确的。当读取正确时,他会返回用户从键盘输的第一个字符的ASCII码值,ASCII码值是数字符号,通过这里也可以看出来getchar()返回值类型应用int定义。

三、 函数getchar()和函数scanf()的工作原理。

工作原理:

相同 :

getchar()和scanf()不是直接从键盘上拿数据,他们是从键盘的缓冲区拿数据,键盘输入的字符会放入缓冲区,若用户不按回车键,所有放入缓冲区的字符都不会被读。

不同 :

在用户按下回车键后,缓冲区内会存在’\n’,scanf只会都'\n'之前的字符,不读' \n'和空格.   getchar会将缓冲区的所有字符全部读走,其中包括空格和'\n'。在windows下如果想结束,就输入Ctrl+z,表示EOF.        

实例:输入密码和确认流程

#include<stdio.h>
int main()
{char password[20] = { 0 };printf("请输入密码:>");scanf("%s", password);//scanf不是直接从键盘拿数据,scanf的工作原理是:在scanf和键盘之间 //  的输入缓冲区中拿数据,//输入缓冲区有数据他就拿,没有他就等,当从键盘上输入字符abcdef为了 // 让字符abcdef来到缓冲区//在键盘上输入\n(回车)字符连同\n一起来到缓冲区,scanf会拿走\n之前 // 的字符abcdef缓冲区剩下\n//scanf不读空格和回车int tmp = 0;while ((tmp = getchar()) != '\n')//用来清理缓冲区{;}printf("请确认密码(y/n):"); int ch = getchar();  //getchar和scanf的工作原理一样,他会读走缓冲区里剩余的\n,ch里边是\nif (ch == 'y')       //getchar和putchar每次只会输入和输出一个字符{printf("确认成功\n");}else{printf("确认失败\n");}return 0;
}

注意:

putchar()输出指定的字符,不会在输出后自动换行,所以putchar(a)和putchar(b)之间要加putchar('\n'),用作换行。

举例:

putchar,getchar,scanf和printf区别

putchar和getchar是输入输出单字符的,printf和scanf可以输入多字符,并且getchar和putchar只可以用于字符型的输入输出,而scanf和printf可以用于整型,浮点型和字符型等类型的输入和输出。


getchar读取的字符 包括数字,符号、字母。都能找到相对应的ASCII码值。本质上是对字符的输入。

原文地址:http://t.csdn.cn/bkbgS

C语言中getchar()和putchar()函数相关推荐

  1. c语言getchar函数的作用,c语言中getchar的用法函数用法

    当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止.下面小编就跟你们详细介绍下c语言中getchar的用法,希望对你们有用. c语言中getchar ...

  2. 关于C语言中getchar()函数的用法

    前言:ASCII码 ASCII码是现在通用的单字节编码系统,它使用7位或8位二进制数字的指定组合来表示128或256个可能的字符,其全称是美国信息交换标准代码.ASCII码对照表:ascii码对照表在 ...

  3. C语言getchar()和putchar()函数

    前言: getchar()和putchar()函数都是单字符函数I/O,每次只能处理一个字符.getchar()是输入,putchar()是输出. 在了解函数之前先说一下缓冲区,什么是缓冲区?用户输入 ...

  4. C语言字符变量输出值,C语言,交换任意两个字符型变量的值并输出结果。要求:利用getchar和putchar函数。...

    C语言,交换任意两个字符型变量的值并输出结果.要求:利用getchar和putchar函数.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶 ...

  5. C 语言中 char[] 的操作函数

    C语言中char[]的操作函数 1.赋值操作 在C语言中,char型数组是不可以直接赋值的.例如在如下的代码中,会得到错误: char c1[20] = "women"; char ...

  6. c语言printf函数的作用,c语言中printf用法及其函数定义

    c语言中printf用法及其函数定义 发布时间:2020-04-09 10:51:14 来源:亿速云 阅读:354 作者:小新 今天小编给大家分享的是c语言中printf用法及其函数定义,很多人都不太 ...

  7. C语言中getchar()函数的详解

    文章目录 关于getchar()函数的基本作用 getchar()函数基本案例 在循环当中的getchar() getchar()函数的作用 清理缓冲区中多个字符 关于getchar()函数的基本作用 ...

  8. C语言中getchar()函数的用法

    前言:ASCII码 ASCII码是现在通用的单字节编码系统,它使用7位或8位二进制数字的指定组合来表示128或256个可能的字符,其全称是美国信息交换标准码.ASCII码对照表在线查看------工具 ...

  9. getchar和putchar函数详解

    字符在C语言出现时用'  '标志起来,并且字符在C语言中以ASCIL码形式存储 'a'--97二者意思相同 getchar函数:int  getchar(void): 该函数读取标准输入(键盘输入), ...

最新文章

  1. 请不要将抛出异常作为业务逻辑使用!!!
  2. win7怎么修改oracle登陆密码,win7账户密码如何修改|win7修改账户密码的详细步骤...
  3. laravel框架集成PHPExcel讲解及demo
  4. java 函数名调用_粉丝提问|c语言:如何定义一个和库函数名一样的函数,并在函数中调用该库函数...
  5. [文摘]标准的软件开发过程
  6. 手把手教出欧拉!数学界最伟大的老师惨遭全网歪曲抹黑,奇葩说陈铭一句话揭露真相.........
  7. 2020年中国冷链物流行业发展报告
  8. 爬虫演练-动态的抓取cp网站数据的演练-注意要反爬
  9. 实践单元测试-Using NUnit 大纲
  10. Python程序设计语言基础02:Python基本图形绘制
  11. Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义
  12. 2019年南京大学计算机考研复试机试真题
  13. 最新上市公司商誉减值损失数据
  14. 微信支付对账单的详细说明
  15. 【吴恩达】机器学习第16章异常检测以及ex8部分编程练习
  16. Instruments Leak
  17. Android 通过FTP方式下载服务器文件
  18. 科学论文写作文献查找运用--WOS文献导出
  19. 【信管2.6】项目可研(二)详细可行性研究
  20. 42-表格表单和简单CSS引用

热门文章

  1. JavaScript4——DOM编程
  2. 模板模式 (Template Method Pattern)
  3. tightvnc,tightvnc软件介绍,详细介绍
  4. BeeWare无法连接https下载依赖包
  5. 国外家喻户晓的搜索引擎优化SEO工具商SEOmoz公司获$1800万融资
  6. Reabble.com-KindleRSS新闻杂志订阅
  7. 一看就会的20行代码爬取豆瓣读书Top250
  8. Jupyter Notebook幻灯片使用技巧
  9. 计算机的网络在哪设置,如何设置调出网络图标
  10. NOI Online 2022