case是不能运算么?只能printf?下面这种不可以么?

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

慕莱坞2287185

2018-07-29 11:45

#include <stdio.h>
int main()
{
    int year = 2008;
    int month = 8;
    int day = 8;
    int sum = 0;
switch(month)
{
    case 1:
        sum += 31;
    break;
    case 2:
        if(year%4==0)
        {
            sum += 29;
        }
        else
        {
            sum += 28;
        }
    break;
    case 3:
        sum += 31;
    break;
    case 4:
        sum += 30;
    break;
    case 5:
        sum += 31;
    break;
    case 6:
        sum += 30;
    break;
    case 7:
        sum += 31;
    break;
}
    int sum += 8;
    printf(%d,sum);

 return 0;
}


写回答 关注

1回答

  • VVevy
    2018-07-29 13:22:37

    switch是达到符合的case后顺序下去。加上break之后就是只在符合的情况中变化。所以当月份为8时…都没有符合的case。漏写default了。以及最后

    int sum += 8;
        printf(%d,sum);

    应该是

      sum += 8;
        printf("%d",sum);


    VVevy 回复慕莱坞228...

    应该吧x我也是小白,看书上default都是写着的。是的,除了以上case中的情况,其他情况都是default里面。是的…可以看同学代码第一第二,两种思路。

    2018-07-29 18:53:37

    共 4 条回复 >

C语言入门

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

926208 学习 · 20797 问题

查看课程

相似问题