【发布时间】:2012-03-28 13:18:42
【问题描述】:
int main (int argc, const char * argv[]) {
clock_t time1, time2;
time1 = clock();
//time1 = gettimeofday();
add();
time2 = clock();
//time2= gettimeofday();
float time = ((float)time2 - (float)time1) / 1000000.0F;
printf("%fs\n", time);
return 0;
}
我最终得到了 0.288640991s 之类的东西(从上面的当前代码中不确定右边是否有那么多数字。但我期待几秒钟:
float time = ((float)time2 - (float)time1) / 1000000.0F;
当我除以 10000.0F 时,我得到 28 秒的实时时间,这就是实际情况。那么为什么上面的行不这样做呢?
编辑:我使用的是 Mac,听说有问题。
【问题讨论】:
-
你应该用定义的常量
CLOCKS_PER_SEC除。 -
使用
CLOCKS_PER_SEC而不是硬编码的1000000.0F