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

评判是 “运行成功,输出错误”,到底怎么改?

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum;

    switch(month)

    {

        case 1:sum = 0; break ;

        case 2:sum = 31; break;

        case 3:sum = 59; break;

        case 4:sum = 90; break;

        case 5:sum = 120;break;

        case 6:sum = 151;break;

        case 7:sum = 181;break;

        case 8:sum = 212;break;

        case 9:sum = 243;break;

        case 10:sum =273;break;

        case 11:sum =304;break;

        case 12:sum =334;break;

        default :printf("sum %\n");break;

    }   

    if (year % 4 == 0)

    {

       sum  = sum + 1 + day;

    }

    else

    {

        sum = sum + day;

    }

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

return 0;

}


评价结果是这样的:

运行成功,输出错误

hello.c: In function 'main':
hello.c:23:31: warning: unknown conversion type character 0xa in format [-Wformat=]
        default :printf("sum %\n");break;
                                          ^
2008 年 8 月 8 日是该年中的第 221


提问者:慕标7066019 2017-12-29 00:28

个回答

  • 慕标7066019
    2017-12-29 09:34:02

    天  刚刚莫名其妙被我改对了    printf (" %d年%d月%d日是该年的第%d天",year,month,day,sum );

               可是为什么这个  不用   \n   呢?好像每次都有   \n  ?

  • qq_尔等刁货_0
    2017-12-29 08:25:42

    说明输出与题目所需要输出的内容不同