请问这个代码哪里有错误?
#include <stdio.h>
int main()
{
int year = 2008;
int month = 8;
int day = 8;
int sum,flag;
switch(month)
{
case 1:sum=0;
break;
case 2:sum=31;
break;
case 3:sum=50;
break;
case 4:sum=81;
break;
case 5:sum=111;
break;
case 6:sum=142;
break;
case 7:sum=172;
break;
case 8:sum=203;
break;
case 9:sum=243;
break;
case 10:sum=273;
break;
case 11:sum=304;
break;
case 12:sum=334;
break;
default:
break;
}
sum=sum+day;
if(year%4==0&&year%100!=0)
flag=1;
else
flag=0;
if(flag==1&&month>2);
sum+=1;
printf("%d年%d月%d日是第%d天",year,month,day,sum);
return 0;
}