首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >printf("-")和printf("-\n");

printf("-")和printf("-\n");
EN

Stack Overflow用户
提问于 2014-03-20 12:04:15
回答 1查看 158关注 0票数 0
代码语言:javascript
复制
#include <stdio.h>
#include <unistd.h>
int main(void)
{
    int i;
    for (i = 0; i < 2; i++) {
        fork();
        printf("-");
    }
return 0;
}

这个程序的结果是8"-“:”-“。但是如果我把'printf("-");‘改成'printf("-\n");',这个程序的结果将变成6"-":“-\n-\n”。有人能告诉我为什么吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-20 13:21:54

printf写入行缓冲的stdout流。Buffer是属于流的内存块,用于临时保存流数据。这样做是为了提高效率,因为与内存操作相比,文件和控制台I/O比较慢。行缓冲意味着只有在输出换行符之前,字符才会保存在缓冲区中。

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

https://stackoverflow.com/questions/22523271

复制
相关文章

相似问题

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