printf sleep \n

0 c printf

当我看到这种奇怪的行为时,我正在尝试一些东西 有人可以向我解释一下.

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

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

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

printf("utkarsh\n");
Run Code Online (Sandbox Code Playgroud)

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

DTh*_*ght 5

你在忙着缓冲.

试着做

fflush(stdout);
Run Code Online (Sandbox Code Playgroud)

在睡觉前