Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C sleep()未正确延迟printf()输出_C_Sleep - Fatal编程技术网

C sleep()未正确延迟printf()输出

C sleep()未正确延迟printf()输出,c,sleep,C,Sleep,我遇到了sleep()函数不工作的问题。例如: #include <stdlib.h> #include <stdio.h> int main(int argc, char* argv[]){ printf("\nHello!"); sleep(1); printf("\nBye!"); sleep(1); return 0; } #包括 #包括 int main(int argc,char*argv[]){ pr

我遇到了
sleep()
函数不工作的问题。例如:

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char* argv[]){

     printf("\nHello!");
     sleep(1);
     printf("\nBye!");
     sleep(1);

     return 0;
}
#包括
#包括
int main(int argc,char*argv[]){
printf(“\nHello!”);
睡眠(1);
printf(“\nBye!”);
睡眠(1);
返回0;
}

即使像这样简单的程序也不起作用。它将休眠2秒钟,然后说“你好!再见!”并结束程序。如果有任何人有任何想法,他们将受到赞赏

到标准输出的输出被缓冲,直到换行。 [printf前面的换行符应该刷新,但是在强制换行符或显式刷新之前,以下字符将被缓冲{re:greg h}]

要刷新stdout,请调用
fflush(stdout)


到标准输出的输出被缓冲,直到换行。 [printf前面的换行符应该刷新,但是在强制换行符或显式刷新之前,以下字符将被缓冲{re:greg h}]

要刷新stdout,请调用
fflush(stdout)


默认情况下,
printf
输出在打印
\n
字符时刷新(实际发送到终端)。因此,您可以按如下方式使代码正常工作:

 printf("Hello!\n");
 sleep(1);
 printf("Bye!\n");
 sleep(1);

在本例中,我已将换行符
\n
移动到您正在打印的字符串的末尾,而不是开始处。

默认情况下,打印
\n
字符时,
printf
输出被刷新(实际发送到终端)。因此,您可以按如下方式使代码正常工作:

 printf("Hello!\n");
 sleep(1);
 printf("Bye!\n");
 sleep(1);

在本例中,我已将换行符
\n
移到您正在打印的字符串的末尾,而不是开头。

您能举个例子吗?我14岁,正在学习语言抱歉,如果我有点慢,
printf
语句确实包含换行符,只是在一个不寻常的地方…@Greg Hewgill printf不包含换行符。。你必须放一个转义字符,但是没有转义字符它不会自动刷新。@James:不,真的,问题代码的输出开头有新行。哈哈,触摸。。。换行符将强制刷新,但以下字符将被缓冲。我更新了我的答案,加入了一个例子,我会改变我的措辞,你能举个例子吗?我14岁,正在学习语言抱歉,如果我有点慢,
printf
语句确实包含换行符,只是在一个不寻常的地方…@Greg Hewgill printf不包含换行符。。你必须放一个转义字符,但是没有转义字符它不会自动刷新。@James:不,真的,问题代码的输出开头有新行。哈哈,触摸。。。换行符将强制刷新,但以下字符将被缓冲。我更新了我的答案,加入了一个例子,我将修改我的措辞。这是一个副本。是的,这是一个副本。好的,非常感谢你解决了我的问题!好的,非常感谢你解决了我的问题!