小弟刚看c程序设计,看到swith cse,求教
输入年月日,判断这是这天是今年的第几天,一段程序。为什么可以这样写?比如月份是11月,不是执行case 11之后switch就结束了吗?要得到正确的结果,得从case 11逐步执行到case 1。请教各位前辈,如何理解。
#include<stdio.h>
int main(void)
{
int year,month,day,sum=0;
printf("Please input year,month,day:\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)
{
case 12: sum+=30;
case 11: sum+=31;
case 10: sum+=30;
case 9: sum+=31;
case 8: sum+=31;
case 7: sum+=30;
case 6: sum+=31;
case 5: sum+=30;
case 4: sum+=31;
case 3: sum+=28;
case 2: sum+=31;
case 1: sum+=day;
}
if((year%400==0)||(year%4==0)&&(year%100!=0) && month>2) //闰年2月份之后,天数+1
{
sum+=1;
}
printf("Total day = %d\n",sum);
return 0;
}