putchar函数的基本格式为:putchar(c)。
(1)当c为一个被单引号(英文状态下)引起来的字符时,输出该字符(注:该字符也可为转义字符);
(2)当c为一个介于0~127(包括0及127)之间的十进制整型数时,它会被视为对应字符的ASCII代码,输出该ASCII代码对应的字符;
(3)当c为一个事先用char定义好的字符型变量时,输出该变量所指向的字符。
例如;
#include  <stdio.h>
void main()
{
char a=‘h’,b='e',c='l',d='l',e='o';
putchar(a);
putchar(b);
putchar(c);
putchar(d);
putchar(e);
printf(\n);
}
最后输出结果就是 hello
转:getchar
1、getchar()的作用

  getchar()函数的作用是从缓冲区读入一个字符的数据,第一次读取数据getchar()会等待用户键入ENTER然后开始从缓冲区进行读取数据,如果缓冲区的数据大于1个字节,剩下的数据会暂时存储在缓冲区,getchar会依次进行读取,而不需要用户再次输入ENTER来触发读取。

  getchar()的返回值是一个整型的数据,其值对应字符的ASCII码。

2、统计输入空格数量的小程序、getchar()的作用

#include<stdio.h>
main() {
   
    int n;
    int m;
    n = 0;
    printf("please input a String:\n");
while((m = getchar()) !='\n'){
        if(m == ' '){
                ++n;
        }   
    }
    printf("n = %d\n",n);

  

程序实现了统计空格的简单功能,将getchar()读取的数据赋给整型变量m用于统计空格的数量。

Q1:在C语言中Char型变量实质上也是一种整型变量,如果将程序中m定义为Char型数据,功能还能不能实现?

Q2:换一种写法,会出现什么情况?

     程序进入死循环,为什么?

#include<stdio.h>
main() {
   
    int n;
    int m;
    n = 0;
    printf("please input a String:\n");
    m = getchar();
    while(m !='\n'){
        if(m == ' '){
            ++n;
        }   
    }
        printf("n = %d\n",n);       
   
}
A1:可以实现

A2:第一种方式getchar()只在循环外读取一个字符(当读取的字符不是回车时进入循环),进入循环后不再运行getchar()读取外界字符,m的值不在变化,当然死循环;
    第二种每次循环都运行一次getchar()读取一个字符,直到输入回车结束;

putchar()和gechar()的区别相关推荐

  1. 【C语言】putchar(10);为何是换行:简单明了讲解 (外加putchar与puts函数区别)

    在查询为何putchar(10)是换行,发现本站均无回答的,都是说其用法.现在在此讲解一下: (首先了解函数功能,和区别是否自定换行) putchar();输出的是字符,但不自带换行功能. puts( ...

  2. putchar与getchar

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其他字符的个数. 代码: #include<stdio.h>int main(){char ch=0;int letter=0;in ...

  3. 2203-C语言基础知识

    文章目录 一.基本构成元素和数据类型 1.数据类型:基本数据类型.构造数据类型.指针类型.空类型 2.常量:整型常量.实型常量.字符型常量.转义字符.符号常量 3.变量:整型变量.实型变量.字符型变量 ...

  4. 【C语言】C语言学习整理-putchar,printf,getchar,scanf定义及区别

    1.定义 花一点时间认真阅读,这篇文章应该会让您多理解一点东西. 1.getchar getchar函数是字符输入函数,其功能是从键盘上获取一个输入字符. 读取方式: 从stdio(输入)流中读字符, ...

  5. c语言printf和putchar区别,putchar和printf的区别是什么

    在C语言中,有三个函数可以用来在显示器上输出数据,它们分别是:puts():只能输出字符串,并且输出结束后会自动换行,在<第一个C语言程序>中已经进行了介绍.putchar():只能输出单 ...

  6. getchar,putchar与gets,puts的区别

    定义一个字符a,.输入一个字符时,a=getchar(). 输出一个字符时,putchar(a). 注意:getchar和putchar都针对一个字符,只能输入和输出一个字符. 当输入两个或多个字符时 ...

  7. 总结open与fopen的区别

    对于这两个名字很类似的函数,对于很多初学者来说,不容易搞清楚它们有什么不同,只知道按照函数用法使用. 如果能很好的区分两者,相信大家对于C语言和UNIX系统(包括LINUX)有更深入的了解. 在网上查 ...

  8. 基础:open和fopen的区别

    1.缓冲文件系统:fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, freopen, fseek, ftell, rewind等. 缓 ...

  9. C语言stdio.h与stdlib.h的区别

    一.定位不同 1.stdlib.h是standard library标准库头文件,定位在通用工具函数. 2.stdio.h是standard input&output标准输入输出头文件,定位在 ...

最新文章

  1. Python 抖音用户粉丝(公开)--分析与实现
  2. 2.1.3 计算机网络之编码与调制
  3. 编译安装日志分析平台 elk + beats(个人感觉不错1)
  4. RedHat虚拟机Vmware Tools的安装教程
  5. html 科幻模板,html5酷炫宇宙科幻周年庆典专题动画模板
  6. java正则表达式匹配xml标签_用正则表达式匹配HTML\XML等文件中的标签
  7. CSS3 建立弹性盒布局 Flex布局
  8. Vivado FIFO IP核接口信号介绍
  9. php break foreach_PHP foreach()跳出本次或当前循环与终止循环方法
  10. 的房费重构——上,下位机的复议
  11. HDOJ--2092--整数解(水题)
  12. VB.NET 教程_04_高级教程
  13. 应用时间序列分析_时间序列-应用
  14. STM32F103ZET6+IIC+SHT20温湿度传感
  15. 热点信号放大(WISP)、万能中继(Client+AP)+AP
  16. 安全管理体系升级 迈动互联获得ISO国际认证
  17. 清华机试真题:成绩排序
  18. kali 上下载GitHub文件失败
  19. raid 物理盘缓存状态_Dell PowerEdge系列服务器RAID和物理磁盘开机自检错误信息及说明...
  20. python告诉你迪丽热巴 vs 杨幂 vs 林志玲谁最美

热门文章

  1. 欺骗的艺术(内容介绍)
  2. 雅讯天地游java戏,手游精品不断 雅讯天地好“戏”连连
  3. IOS 开发高手课 学习笔记(第三部分)
  4. Collection中的一个小问题
  5. HC32F460 RT-THREAD NANO环境搭建
  6. win8的特色真能融入寻常百姓家么?
  7. 计算机综合应用能力实总结,计算机综合应用能力实训报告
  8. 坑爹的微博开放平台之图片上传出现:图片上传失败,请重新上传。 目前仅支持小于2M的PNG、JPG、GIF 图片,
  9. 【报错记录】SpringBoot中MultipartFile上传报/tmp/tomcat.***.tmp (No such file or directory)
  10. MATLAB 最小生成树