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

难受,看不懂编译器说哪里错了。请大佬指点

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum,m;

    /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

    

   switch(month)

        {

            case 1:sum=0;break;

            case 2:sum=31;break;

            case 3:sum=60;break;

             case 4:sum=91;break;

            case 5:sum=121;break;

            case 6:sum=152;break;

            case 7:sum=182;break;

            case 8:sum=213;break;

            case 9:sum=244;break;

            case 10:sum=274;break;

            case 11:sum=305;break;

            case 12:sum=335;break;

            default:printf(" ");break;

        }

  

    m=day+sum;

    if(year%400==0||(year%100!=0&&year%4==0)||month<2)

    m=m;

    else if(month>=2)

    m-=1;

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

    return 0;

}

    以下是编译器内容

运行失败

hello.c: In function 'main':

hello.c:37:46: error: expected ')' before 'year'

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

                                              ^~~~

hello.c:37:14: warning: format '%d' expects a matching 'int' argument [-Wformat=]

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

              ^

hello.c:37:19: warning: format '%d' expects a matching 'int' argument [-Wformat=]

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

                   ^

hello.c:37:24: warning: format '%d' expects a matching 'int' argument [-Wformat=]

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

                        ^

hello.c:37:41: warning: format '%d' expects a matching 'int' argument [-Wformat=]

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

        




正在回答

2 回答

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum,m;

    /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

    

   switch(month)

        {

            case 1:sum=0;

break;

            case 2:sum=31;

break;

            case 3:sum=60;

break;

            case 4:sum=91;

break;

            case 5:sum=121;

break;

            case 6:sum=152;

break;

            case 7:sum=182;

break;

            case 8:sum=213;

break;

            case 9:sum=244;

break;

            case 10:sum=274;

break;

            case 11:sum=305;

break;

            case 12:sum=335;

break;

            default:printf(" ");

break;

        }

           m=day+sum;

           if(year%400==0||(year%100!=0&&year%4==0)||month<2)

           m=m;

           else if(month>=2)

           m-=1;

           printf("2008年8月8日是该年的%d天",m);

           return 0;

}


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

小小的植物

加个“第”就对了
2018-11-09 回复 有任何疑惑可以回复我~

m=day+sum??

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

慕圣3392094 提问者

啊??这个有什么问题吗
2018-11-09 回复 有任何疑惑可以回复我~
#2

xinyi_Jin

输出语句里边year前边少了一个','英文逗号
2018-11-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

难受,看不懂编译器说哪里错了。请大佬指点

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