首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >putchar(ch + 1)没有立即放煤焦

putchar(ch + 1)没有立即放煤焦
EN

Stack Overflow用户
提问于 2018-10-16 01:41:35
回答 1查看 283关注 0票数 0

我正在阅读"C Primer Plus“一书,并遇到这样一段代码:

代码语言:javascript
复制
#include <stdio.h>
#include <ctype.h>
#define SPACE ' '
int main(void) {

    char ch = getchar();

    while (ch != '\n')
    {
        if (isalpha(ch))
            putchar(ch + 1); //change other characters
        else
            putchar(ch);
        ch = getchar();
    }
    putchar(ch); //print the newline

    return 0;
}

运行它并输出:

代码语言:javascript
复制
$ ./a.out
a c programmer
b d qsphsbnnfs

我假设当我输入a时,它会立即输出b。但是,它一直等到我按回车。

第二个putchar(ch)似乎工作正常。

putchar(n+1)为什么不像第二个putchar(ch)那样立即使用char呢?

EN

回答 1

Stack Overflow用户

发布于 2018-10-16 01:44:40

输出缓冲C库stdio有新行的缓冲区有输出缓冲。禁用缓冲调用setbuf(stdout, NULL);

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52826810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档