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

请问这样写switch为什么结果不对?

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum;

    int i;


for(i = 1;i<=month;i++){


        switch(i){


         case 1||3||5||7||8||10||12:


            sum +=31;break;


         case 2:


 if((year%400==0&&year%100!=0)||year%4==0) sum +=29; 


            else  sum +=28;break;


        default:


            sum += 30;break;}

            

            }

    

  sum+=day;


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

return 0;

}


正在回答

1 回答

case 后不能2||3||4||5:这样写;

可以写 case 2:

           case 3:

           case 4:   sum=sum+31;break;

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

熊掌猪肉 提问者

虽然不是问题所在,还是谢谢您
2016-07-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问这样写switch为什么结果不对?

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