#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函数后的运行结果:
#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
1月1日到6月3日应该是:31+29+31+30+31+3=155