clock()函数,输出总是0.00 s,为什么

发布网友

我来回答

1个回答

热心网友

int main(void)
{
printf("Time1: %d\n", clock());
int sum = 0;
for (int j=0; j<0xFFFFFFF; ++j)
{
sum += j;
}
printf("Time2: %d\t%d\n", clock(), sum);
return 0;
}

测试了一下, clock()计时器是从程序开始运行时计数的.
你的程序没有进行耗时的运算, 计时器返回的值非常小, 所以返回零了.
归根原因就是你计算机的CPU跑的太快了, 以至于程序开行运行计时器刚刚重置,你就去获取计时器的值了.追问用VC6.0测试了一下,正常了,不过为什么我用codeblocks,gcc编译的结果就不行了呢?每次运行结束它的结尾就会有一个运行时间,那里的时间显示的不是0
另外就是我看的是算法竞赛入门经典这本书,上面说这里面键盘输入的时间也被计算在内,我的输入肯定是需要的时间的,是怎么回事

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com