C言語 実行エラー 10000日先が表示されない
今10000日先後の年、月、日を求めていて下のプログラムを
考えたんですけど、コンパイルは通るんですが結果がうまくいきません↓
どこがおかしいですか?
#include<stdio.h>
int leapYear(int);
int Date(int,int,int,int);
int main(void){
int year,i=0,month,date,date2=10000,emp=0;
printf("年>>");
scanf("%d",&year);
printf("月>>");
scanf("%d",&month);
printf("日>>");
scanf("%d",&date);
Date(year,month,date,date2);//date2から各月の日数を引いていく
printf("year=%d month=%d date=%d date2=%d \n",year,month,date,date2);
return 0;
}
int leapYear(int year){ //うるう年を求める
if(year%400==0){
return 1;
}
else if(year%4==0 && year%100!=0){
return 1;
}
else return 0;
}
int Date(int y,int m,int d,int d2){
for(;;y++){
if(d2<0) return y,m,d,d2;
for(;m<=12 || d2>=0;m++){
if(leapYear(y)==1){
if(m==4||m==6||m==9||m==11){
d2-(30-d);
}
else if(m==2) d2-(29-d);
else d2-(31-d);
}
else
if(m==4||m==6||m==9||m==11){
d2-(30-d);
}
else if(m==2) d2-(28-d);
else d2-(31-d);
}
}
}
お礼
ありがとうございました!