int leap=year%4==0&&year%100!=0||year%400==0;是什么意思

2025-03-04 15:46:56
推荐回答(4个)
回答1:

由于“=”赋值运算符优先级低且由右向左。
所以先看右边,也就是右边的式子的值赋值与leap。
右边有3个式子。式子的值为真则1,假则0。
式子1:如果year被4整除则真,式子2:year不被100整除则真,式子3:year被400整除则真。
三者关系:(式子1&&式子2)||式子3 式子关系顺序自左向右。
所以,被4整除而不被100整除,或者被400整除。
这是判断闰年的真假(真则1,假则0)。
注意:别被楼上误导,leap是整型的!!!真则1,假则0

回答2:

判断year是否是闰年,如果是则leap=1,否则leap=0;
闰年的定义就是能被4整除却不能被100整除,或者能被400整除;
由运算符的优先级知道:

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

回答3:

这句话是判断闰年的,
int leap=( (year%4==0) && (year%100!=0) ) ||(year%400==0) )
你可以这样分开理解。
如果是闰年,那leap=true,如果不是闰年,那leap又等于false

我是学计算机的,账号就是我QQ,不懂可以问我。

回答4:

如果是闰年,那leap=true,如果不是闰年,那leap又等于false