2016-09-14 74 views
-5

我一直在編寫一些簡單的東西,比如打印語句,但是我想讓處理器處於休眠狀態,以免同時有太多的打印語句。 我已經使用庫unistd.h並使用函數sleep()。 我遇到的問題是,當我要求睡眠函數睡眠時間少於0.9秒時,打印相同數量的語句,就好像我根本沒有使用函數sleep()。 如果我讓它睡一秒以上,但我不想睡一秒鐘,我就會少一點。睡眠()函數在C中不正確計時

坦克,請您閱讀和/或幫助。

+3

你想在提問之前閱讀'sleep()'手冊頁。這會告訴你,你的一些假設是錯誤的。 – tofro

+1

請閱讀手冊頁 - 它會睡眠整整數秒。用我們也許 –

+5

什麼讓你覺得它可以採取浮動?你有沒有讀過睡眠文件? – Macmade

回答

4

如果您閱讀the sleep manual page,您會發現它需要幾秒鐘的時間,作爲整數

如果在預期整數值時使用浮點值,編譯器將截斷它。例如,浮點值0.9將被截斷爲整數0

所以你在做什麼實際上是sleep(0)

也在the sleep manual page(至少對於Linux手冊頁),您將看到一個鏈接到the nanosleep function