麻煩各位大佬,幫忙看看,為啥這串代碼在這跑出來和在線編譯器的結果不一樣呢
#include <stdio.h>
int main()?
{?
? ? /* 定義需要計算的日期 */
? ? int year = 2008;
? ? int month = 8;
? ? int day = 8;
? ? int flag;
? ? int sum,i;
? ? /*
? ? ?* 請使用switch語句,if...else語句完成本題
? ? ?* 如有想看小編思路的,可以點擊左側任務中的“不會了怎么辦”
? ? ?* 小編還是希望大家獨立完成哦~
? ? ?*/
? ? ?if(year % 4 == 0)
? ? ?{
? ? ? ? ?flag = 0;
? ? ?}
? ? ?else
? ? ?{
? ? ? ? ?flag = 1;
? ? ?}
? ? ?switch(flag)
? ? ?{
? ? ? ? ?case 0 :
? ? ? ? ?for(i=1;i<month;i++)
? ? ? ? ?{
if(i%2!=0)
{
sum+=31;
}
else if(i==2)
{
sum+=29;
}
else
{
sum+=30;
}
?
? ? ? ? ?}
sum=sum+day;
? ? ? ? ?printf("%d年%d月%d日這一天,是該年中的第%d天",year,month,day,sum);
? ? ? ? ?break;
? ? ? ? ?case 1 :
? ? ? ? ?for(i=1;i<month;i++)
? ? ? ? ?{
if(i%2!=0)
{
sum+=31;
}
else if(i==2)
{
sum+=28;
}
else
{
sum+=30;
}
?
? ? ? ? ?}
sum=sum+day;
? ? ? ? ? printf("%d年%d月%d日這一天,是該年中的第%d天",year,month,day,sum);
? ? ? ? ?break;
? ? ?}
? ? return 0;
? ??
}
2022-09-30
swith的括號中不應該是flag而是month