前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C/CPP单字符I/O:getchar()和putchar()

C/CPP单字符I/O:getchar()和putchar()

作者头像
CtrlX
发布2022-11-14 15:06:39
4400
发布2022-11-14 15:06:39
举报
文章被收录于专栏:C++核心编程

引入

在使用scanf()和printf()函数时会遇到一些特殊情况。

C语言还可以使用其它的输入函数来处理一些特殊情况,如getchar()和fputs()。这两个函数更适合处理一些特殊情况,如读取单个字符或包含空格的字符串。 可以使用getchar 函数和 putchar 函数來代替调用scanf 函数和printf 函数。每次调用getchar 函数时,它会读入一个字符,并返回这个字符。需要使用复制操作将返回值存储在变量中。和scanf 函数一样,getchar 函数也不会在读取时跳过空白字符。putchar 函数用来写单独的一个字符,如putchar(ch)。

示例

代码语言:javascript
复制
ch = getchar();//等同于scanf("%c",&ch);
ch = putchar();//等同于printf("%c",ch);

PS:

由于getchar 函数和 putchar 函数只用来处理字符,所以它们的效率比scanf()和printf()函数更高。 getchar 函数没有参数, putchar 函数打印它的参数。

单字符I/O:getchar()和putchar()

详见CPrimerPlus P217

结束键盘输入

程序引入:该程序从键盘读取输入的字符,并把这些字符发送到屏幕。程序使用while循环,当读取到‘#’字符时就停止。

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    char ch;
    ch = getchar();
    while(ch != '#' )//测试
        putchar(ch);//处理字符
    
        ch = getchar();//读取    
    
    return 0;
}

优化:把测试和读取合并成一个表达式。

代码语言:javascript
复制
#include<stdio.h>
int main()
{
    char ch;
    
    while((ch = getchar()) != '#' )//熟练记忆这种处理键盘输入的。
        putchar(ch);
    
    return 0;
}

这体现了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引入
  • 单字符I/O:getchar()和putchar()
    • 结束键盘输入
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档