怎样用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网上有许多产品团购,便宜有口碑
然后,我利用你的程序分别在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网上有许多产品团购,便宜有口碑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上判断的不是太准确
毫秒为单位
#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);//就是两次的时间差
毫秒为单位
#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);//就是两次的时间差
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,我们要明确的一点是,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
然后,我利用你的程序分别在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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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编译通过。。你试试。。
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询