输出错误!求大神解答!!

来源:4-17 switch与if语句的应用

Juin丶

2018-08-02 16:52

#include <stdio.h>

int main() 

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum;

    switch(month)

    {

    case 1:

        if(month>1)

            sum=sum+31;

        else

        {

            sum=sum+day;

            break;

        }

    case 2:

        if(month>2)

            if(year%4==0)

                sum=sum+29;

            else

                sum=sum+30;

        else

        {

            sum=sum+day;

            break;

        }

    case 3:

        if(month>3)

            sum=sum+31;

        else

        {

            sum=sum+day;

            break;

        }

    case 4:

        if(month>4)

            sum=sum+30;

        else

        {

            sum=sum+day;

            break;

        }

    case 5:

        if(month>5)

            sum=sum+31;

        else

        {

            sum=sum+day;

            break;

        }

    case 6:

        if(month>6)

            sum=sum+30;

        else

        {

            sum=sum+day;

            break;

        }

    case 7:

        if(month>7)

            sum=sum+31;

        else

        {

            sum=sum+day;

            break;

        }

    case 8:

        if(month>8)

            sum=sum+31;

        else

        {

            sum=sum+day;

            break;

        }

    case 9:

        if(month>9)

            sum=sum+30;

        else

        {

            sum=sum+day;

            break;

        }       

    case 10:

        if(month>10)

            sum=sum+31;

        else

        {

            sum=sum+day;

            break;

        }

    case 11:

        if(month>11)

            sum=sum+30;

        else

        {

            sum=sum+day;

            break;

        }

    case 12:

            sum=sum+day;

            break;

    }

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

return 0;

}

https://img2.mukewang.com/5b62c6130001e68c08730542.jpg

怎么会输出这么庞大的数字 - -!求大神解答!

写回答 关注

1回答

  • 驴肉火烧_fr
    2018-08-02 18:02:57
    已采纳

    你的break写在else下面去了,如果程序读不到break就会继续执行下面的代码,知道遇见break为止

    Juin丶

    诶不对呀我突然想了下,月份为8,循环到case 8这里的时候不就进入else了嘛,然后顺着下来不就是break了吗?

    2018-08-02 18:19:45

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926019 学习 · 20793 问题

查看课程

相似问题