为什么if(flag=1)执行了if()语句,if(flag==1)反而没有计算if()里的语句

le_iTAng le_iTAng 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <stdio.h>
int main()
{
int year=2018;
int month=8;
int day=8;
int sum ,flag;
switch(month)
{
case 1:
sum=31+334;
break ;
case 2:
sum=28+306;
break ;
case 3:
sum=31+275;
break ;
case 4:
sum=30+245;
break ;
case 5:
sum=31+214;
break ;
case 6:
sum=30+184;
break ;
case 7:
sum=153+31;
break ;
case 8:
sum=122+31;
break ;
case 9:
sum=92+30;
break ;
case 10:
sum=61+31;
break ;
case 11:
sum=31+30;
break;
case 12:
sum=31;
break;
}
sum=365-sum+day;
if(year%400==0 || (year%4==0 && year%100!=0))
{
flag=1;
}
else

flag=0;

if(flag==1 && month>2)
{
sum=sum+1;
}
printf("%d年%d月%d日是该年中的第%d天",year,month,day,sum);
return 0;
}

结果是,“flag=1”输出为221天,“flag==1”输出为220天
...全文
评论 19
收藏 已收藏
分享
返回顶部
le_iTAng
C语言 70,040 成员 243,237 内容