怎样用c语言设计计算程序执行的时间?最好有程序,可以再vc6++上执行

 我来答
匿名用户
2011-05-04
展开全部
首先,我们要明确的一点是,c语言的输出方向是从右到左的
然后,我利用你的程序分别在vc6.0和win-tc中实验
得到的结果是vc6.0:7,21,5
win-tc:8,20,5
通过结果可以看到,最右边都是输出5。
win-tc 8 8+7+5 5 = 8 20 5 <-
vc6.0 7 7+7+7 5 = 7 21 5 ->
通过资料查找,我们可以知道,
win-tc编译用的是指针 ,vc6.0用的是栈;
下面,我们重点讲一下vc6.0
因为用的是栈,所以
第一次输出为5
第二次输出为21(原因:统一将i增值,在赋值给i,i=7,三次加即为21)
第二次输出为7 (原因:i++这个要在输出完成后在加上去)
希望以上对你有帮助
2010年10月2日7:35:55
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjrzhi
2011-05-03 · 超过14用户采纳过TA的回答
知道答主
回答量:70
采纳率:61%
帮助的人:19万
展开全部
楼上判断的不是太准确
毫秒为单位
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include<windows.h>

LARGE_INTEGER nFreq;
LARGE_INTEGER nBeginTime;
LARGE_INTEGER nEndTime;
QueryPerformanceFrequency(&nFreq); // 获取时钟频率
QueryPerformanceCounter(&nBeginTime); // 获取时钟计数
程序
QueryPerformanceCounter(&nEndTime);
return((double)(nEndTime.QuadPart-nBeginTime.QuadPart)/nFreq.QuadPart);//就是两次的时间差
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
硕格宝4696
2011-05-04 · TA获得超过508个赞
知道答主
回答量:314
采纳率:0%
帮助的人:281万
展开全部
首先,我们要明确的一点是,c语言的输出方向是从右到左的
然后,我利用你的程序分别在vc6.0和win-tc中实验
得到的结果是vc6.0:7,21,5
win-tc:8,20,5
通过结果可以看到,最右边都是输出5。
win-tc 8 8+7+5 5 = 8 20 5 <-
vc6.0 7 7+7+7 5 = 7 21 5 ->
通过资料查找,我们可以知道,
win-tc编译用的是指针 ,vc6.0用的是栈;
下面,我们重点讲一下vc6.0
因为用的是栈,所以
第一次输出为5
第二次输出为21(原因:统一将i增值,在赋值给i,i=7,三次加即为21)
第二次输出为7 (原因:i++这个要在输出完成后在加上去)
希望以上对你有帮助
2010年10月2日7:35:55
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
带泪的紫藤花
2011-05-03 · TA获得超过2665个赞
知道小有建树答主
回答量:486
采纳率:100%
帮助的人:202万
展开全部
#include<stdio.h>
#include<time.h>
int main(void)
{
int t1,t2,t;
t1=time(NULL);
...
程序体
......
t2=time(NULL);
t=t2-t1;
printf("%d s",t);
return 0;
}
bc编译通过。。你试试。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-04
展开全部
#include<stdio.h>
#include <sys/timeb.h>
#include <time.h>

int main(void)
{
unsigned long t1,t2,elapsed_time;
unsigned long t11,t21;
int s,ms;
struct timeb timebuffer; //在VC使用_timeb

ftime(&timebuffer);//在VC使用_ftime
t11=timebuffer.time;
t1=timebuffer.millitm; // 精确到毫秒

//程序体

ftime(&timebuffer);//在VC使用_ftime
t21=timebuffer.time;
t2=timebuffer.millitm;
elapsed_time =1000*(t21-t11)+t2-t1;
s=elapsed_time/1000;
ms=elapsed_time-s*1000;
printf("程序耗时:%d秒:%d毫秒",s,ms);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式