C语言 请帮我描述一下,这段代码的意思

2024-11-20 06:38:08
推荐回答(1个)
回答1:

if(
(year%4==0&&year%100!=0||year%400==0)
&&
month==2
){
day=29;
}
printf("%d\n",day);
把代码这样整理下,if中的第一个括号肯定是先计算的,year%4==0 表示 year能被4整除,year%100!=0表示 year不能被100整除,year%400==0 表示能被400整除,所以连起来就是这个年份能被4整除且不能被100整除,或者能被400整除,只要满足其中一个就是true,当时true的时候,就会去判断month是不是等于2,如果是是,那么就是true,进入判断,天数为29,如果整个if的条件不是true,就跳过day=29这个代码