C语言数组,得到某月天数

img

img


请问,在if后一句的
那个输出,days【index】+1
那不是都加了1吗?为什么只有二月加了1
不应该是一月变成了32吗?

img

因为if语句里面有判断是闰年且index==1,意思是为闰年且月份为2月时才进入if语句


#include<stdio.h>
int main()
{
    int year, mouth, days;
    printf("请输入年,月:");
        scanf("%d,%d", &year, &mouth);
    switch(mouth)
    { case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:days = 31;  break;
      case 4:
      case 6:
      case 9:
      case 11:days = 30; break;
      case 2:
          if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
              days = 29;
          else
              days = 28; break;
 
 
    }
    printf("%d年%d月的天数是%d天\n", year, mouth, days);
    return 0;
}