c - 打印 sleep \n

标签 c printf

当我看到这种奇怪的行为时,我正在尝试一些事情。谁能给我解释一下。

#include<stdio.h>
int main()
{
    printf("utkarsh");
    sleep(10);
    printf("dixit");
}

预期的输出是打印“utkarsh”,然后等待 10 秒,在旁边打印“dixit”。 但我观察到的是它等待 10 秒并打印“utkarshdixit”。

如果我在 utkarsh 末尾添加一个\n,它会按预期工作。

printf("utkarsh\n");

有人可以帮助我理解为什么我会看到这种行为吗?

最佳答案

你正在遇到缓冲。

努力去做

fflush(stdout);

睡前

关于c - 打印 sleep \n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11428299/

相关文章:

printf 可以改变它的参数吗?

c - 重复引用时结构值发生变化

一个非常简单的 C 结构中的编译错误

execvp 和 wait() 之后无法重新获得控制权

C++、vsprintf 处理不断变化的参数数量和大格式字符串

c - 在 C 中打印缩进

c - gcc 是如何编译的

比较 WCHAR String 和 C 中的 Const Char?

C编译器警告 "Warning: too many arguments for format"如何修复?

c++ - 从 printf 格式字符串中提取类型信息