我想要在我的C程序中獲得一些基本的時間。 基本上我想在規定的時間內每秒翻幾次。 我的問題是師似乎不能正確使用變量的 clock_t
類型。clock_t除法結果爲0
下面是一個最小的程序,它說明了什麼問題,我都 GCC和鐺測試它:
#include <time.h>
#include <stdio.h>
#define CLOCKS_PER_BLINK CLOCKS_PER_SEC/4L
int main() {
printf("%li\n", CLOCKS_PER_SEC);
printf("%li\n", CLOCKS_PER_BLINK);
printf("%li\n", 4L);
printf("%li\n", CLOCKS_PER_SEC/CLOCKS_PER_BLINK);
}
這裏是輸出:
$ ./a.out
1000000
250000
4
0
我本來期望在最後行返回4
。
注意:'CLOCKS_PER_SEC'不一定是'long'。它是'clock_t'類型,可以是'int','double',...'printf(「%li \ n」,(long)CLOCKS_PER_SEC);''或'printf(「%lli \ n」,(long長)CLOCKS_PER_SEC);'更好。 – chux 2014-09-30 18:04:31