问答详情
源自:4-17 switch与if语句的应用

关于大于12个月的问题

如果把month=8改成14(只要大于12即可)输出结果 “只有12个月2008年14月8日是该年的第9天”不对啊 ,不是应该只输出“只有12个月”吗  ,不应该执行 default :printf("只有12个月");break;以后的语句了啊  ?

提问者:慕田峪2209356 2016-04-21 19:03

个回答

  • 慕哥4058351
    2016-06-14 22:43:53
    已采纳

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

    前面加上:else if(month>0&&month<=12)至于什么要加else呢是因为你前面有个if没有加上else语句所以下面这条判断语句要加上else,要不然木有用。

    因为两条if语句他会只选其中一条if语句执行的

    这样:

        else if(month>0&&month<=12)
        printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);

    就好了。

    为了代码好下面记得加个   else{}

  • qq_隐匿_03229380
    2016-05-07 16:45:15

    好像没说不执行了吧。

    我觉得吗,要实现你说的要加句

    if(month==8)

  • 果冻粉3183566
    2016-04-21 23:21:59

    也可以,一般从控制台输入的话是需要判断输入是否规范