问答详情
源自: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;

case 13:sum = 365;break;

default:

printf("%s\n","一年当中有12个月");

break; 

}

int sum = 212;

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

{

sum += (day+1);

}

else

{

sum += day;

}

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

return 0;

}

我想问一下为什么倒12行sum = 212;这里会出错,是因为前面赋过值吗?

提问者:qq_慕函数9094777 2020-12-13 23:45

个回答

  • 慕婉清2513722
    2020-12-14 17:55:10

    重复定义了sum,改为:

    int sum;

    sum =212;

    or

    int sum = 212;