请问这样写switch为什么结果不对?
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int year = 2008;
int month = 8;
int day = 8;
int sum;
int i;
for(i = 1;i<=month;i++){
switch(i){
case 1||3||5||7||8||10||12:
sum +=31;break;
case 2:
if((year%400==0&&year%100!=0)||year%4==0) sum +=29;
else sum +=28;break;
default:
sum += 30;break;}
}
sum+=day;
printf("%d年%d月%d日是该年中的第%d天\n",year,month,day,sum);
return 0;
}