我正在尝试使用gettimeofday创建一个计时器。已调用函数" time“来重置和获取计时器的当前时间。但是当我尝试获取第二时间值时,程序却给出了无用的值。请帮帮忙
#include<stdio.h>
#include <sys/time.h>
#include <stdlib.h>
struct timeval cur;
double time(int a);
main() {
time(0);
printf("%lf\n",time(1));
sleep(3);
printf("%lf\n",time(1));
}
double time(int a) {
double rtime;
if(a==0) {
gettimeofday(&cur,NULL);
rtime=(double)(cur.tv_sec);
printf("%lf\n",rtime);
} else if(a==1) {
gettimeofday(&cur,NULL);
return((double)(cur.tv_sec-rtime));
}
}发布于 2014-04-03 15:01:04
您的例程time()不会记住rtime,除非您将rtime指定为static:
static double rtime;还有:不清楚为什么要将这些数字指定为双精度。
https://stackoverflow.com/questions/22818149
复制相似问题