c++中计算一段程序执行时间怎么计算出来出来显示是0啊

#include<iostream>#include<time.h>usingnamespacestd;intmain(){clock_tstart,finish;dou... #include<iostream>
#include<time.h>
using namespace std;
int main(){
clock_t start,finish;
double totaltime;
int i,j,a[12][50],b[12][50];
for(i=0;i<12;i++){
for(j=0;j<50;j++)
b[i][j]=2;
}
start=clock();

for(i=0;i<12;i++){
for(j=0;j<50;j++)
a[i][j]=b[i][j];
}
finish=clock();
totaltime=(double)(finish-start)/CLOCKS_PER_SEC;
cout<<"按照行存储所花费的时间:"<<endl;
cout<<totaltime<<endl;
return 0 ;}
展开
 我来答
gz_chatbot
推荐于2016-02-25 · 超过85用户采纳过TA的回答
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:83.2万
展开全部
你要明白,在电脑里面所有的时间实际上是一个个始终周期,你可以理解为,秒针没转够一圈,分针是不会变化的。你上面那点计算,它完全可以在一个时钟周里面完成,而clock这个函数极有可能只能精确到分针的概念上。所以得出的结果肯定一样。

你上面的for没几个计算,无非就赋值跟 ++ 几个操作,建议你把数量级搞到10亿级去测试。然后把结果平均出来。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宿命的轮回_
2015-03-26 · TA获得超过108个赞
知道答主
回答量:214
采纳率:100%
帮助的人:134万
展开全部
因为电脑速度太快了呗。。。
更多追问追答
追问
不会吧,再快也至少得有个时间呀,怎么可能是0呢?代码好像没有问题呀
追答
或者说clock函数精度可能不够, clock返回值精度为毫秒级,如果运算时间低于1ms,输出就是0.。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式