为了账号安全,请及时绑定邮箱和手机立即绑定

我想问下,为什么这样可以运行?且成功。还有就是为什么month-2?

#include <stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum=0,i=0;

    

    switch(month-2)

    {

        case 1:sum+=31;

        case 2:sum+=30;

        case 3:sum+=31;

        case 4:sum+=30;

        case 5:sum+=31;

        case 6:sum+=30;

        case 7:sum+=31;

        case 8:sum+=31;

        case 9:sum+=30;

        case 10:sum+=31;

        case 11:if(year%4==0&&year%100!=0||year%400==0)sum+=29;else sum+=28;

        case 12:sum+=31;

    }

    i=sum+day;

    printf("%d年%d月%d日是该年的第%d天",year,month,day,i);

return 0;

}


正在回答

1 回答

这个可以说是乱来的,因为没有break,所以机器会从case6开始执行到case12然后退出switch,就等于你之后每个月多少天然后你把他们加起来这样。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我想问下,为什么这样可以运行?且成功。还有就是为什么month-2?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信