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

为什么输出结果是7月

为什么输出结果是7月

C
qq_怪咖小青年_1 2017-08-08 10:25:38
#include <stdio.h>int main() {     /* 定义需要计算的日期 */    int year = 2008;    int month = 8;    int day = 8;    int sum=0;    switch(month--)    {        case 8:sum+=31;        case 7:sum+=31;        case 6:sum+=30;        case 5:sum+=31;        case 4:sum+=30;        case 3:sum+=31;        case 2:sum+=28;        case 1:sum+=31;    }    if(year%4==0||(year%100==0&&year%400==0))    {        sum=sum+1;        printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);    }    else    {        printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);    } return 0;}
查看完整描述

4 回答

已采纳
?
木木的fairy_Joyee

TA贡献1条经验 获得超1个赞

因为直接在switch中递减了变成了7

添加一句:

int k=month;

    把switch改成switch(k--)


查看完整回答
1 反对 回复 2017-08-08
?
慢l慢

TA贡献22条经验 获得超3个赞

switch(month--)后,month已经等于7了。mouth--即month=month-1。

查看完整回答
1 反对 回复 2017-08-08
?
Mosaic被占用了

TA贡献5条经验 获得超2个赞


因为你的month在switch中自减了一次

查看完整回答
1 反对 回复 2017-08-08
?
qq_怪咖小青年_1

TA贡献2条经验 获得超0个赞

输出的结果应该是8月才对啊


查看完整回答
反对 回复 2017-08-08
  • 4 回答
  • 0 关注
  • 1977 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信