Clock() 函数总是返回 0 [重复]

2024-02-06

可能的重复:
The C clock()函数只返回零 https://stackoverflow.com/questions/2134363/the-c-clock-function-just-returns-a-zero

我运行以下代码来测试 Clock() 函数的工作。我在 ubuntu 12.04 上工作。

#include <stdio.h>
#include <time.h>
#include <iostream>
using namespace std;


double diffclock(clock_t clock1,clock_t clock2)
{
double diffticks=clock1-clock2;
double diffms=(diffticks*10)/CLOCKS_PER_SEC;
return diffms;
}

int main()
{
string name;
int i;
clock_t begin=clock();
cout << "Hi what is your name? ";
getline(cin, name);
clock_t end=clock();
cout << "Time elapsed: " << double(diffclock(end,begin)) << " ms"<< endl;
return 0;
}

但无论我花了多少时间写我的名字,经过的时间总是显示为0毫秒。

你能告诉我问题是什么吗?


clock()返回刻度数USED自从程序开始执行以来。没有必要(在这个特定的例子中)来获得clock_t begin value.

尝试打印两个begin and end价值观并看看它们是什么。它们可能都是 0 或接近 0,因为等待用户输入不占用 CPU 时间。

不管怎样,我推荐time()发挥你不需要的作用tick精确。http://www.cplusplus.com/reference/clibrary/ctime/time/ http://www.cplusplus.com/reference/clibrary/ctime/time/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Clock() 函数总是返回 0 [重复] 的相关文章

随机推荐