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

在vs里编译的和这里不一样

请教一下各位大神,我这个代码在vs里能编译的过去,答案也是正确的,为什么在慕课网这里编译不过去。。。

#include <stdio.h>

int main()

{

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

int year = 2008;

int month = 8;

int day = 8;

/*

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

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

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

*/

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("一年只有十二个月");break;

}

sum += day;

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

sum++;

else

sum;

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

return 0;

}

    getchar();

    return 0;

}


提问者:慕运维3294233 2017-07-22 12:22

个回答

  • 慕粉0403603
    2017-07-22 17:17:30
    已采纳

     getchar();用错了,直接加在printf("%d年%d月%d日是今年的第%d天", year, month, day, sum);后面,最后3排是多余的