c语言中的time函数获得机器时间

C语言 码拜 9年前 (2016-04-11) 993次浏览
#include <time.h>
#include <stdio.h>
int sum() {
int p = 1970;
int i;
int sum=0;
for (i = 0; i < 46; i++) {
if (p % 4 == 0 && p % 400 != 0) {
sum = sum +  366;
}
else {
sum = sum +  365;
}
p++;
}
sum = sum + 185;
time_t pu;
long f = (int)time(&pu);
f = f / (3600*24);
printf(“%ld\n”,f);
printf(“sum=%d”,sum);
}
int main (){
sum();
return 0;
}
添加main函数后的运行结果:

16955
sum=16985;
今天是2016、6、3号
据1970年1月1日有sum=16985;
但是返回的时间不对;高手求答

解决方案

80

题主你本人多算了一个月吧,sum = sum + 185;
1月1日到6月3日应该是:31+29+31+30+31+3=155

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c语言中的time函数获得机器时间
喜欢 (0)
[1034331897@qq.com]
分享 (0)