Linux 下關於 printf 與 sleep 一起運行的困惑

問題是這樣的:

#include   <stdio.h><br />
int main()<br />
{<br />
while(1)<br />
  {<br />
  sleep(1);<br />
  printf("hello/n");<br />
  }<br />
return 0;<br />
} 

運行成功,每隔一秒輸出一個hello並換行~

#include   <stdio.h><br />
int main()<br />
{<br />
while(1)<br />
  {<br />
  sleep(1);<br />
  printf("hello");<br />
  }<br />
return 0;<br />
} 

不成功,運行後沒反應~

前後兩個程序只差一個換行符~~

其實這跟sleep沒關係
,而是printf

printf有緩存的,/n會強制刷新緩存

在沒有換行符的加個fflush(stdout)就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章