为了账号安全,请及时绑定邮箱和手机立即绑定

if((year%400==0)||(year%4==0&&year%100!=0))求大神教一下 怎么理解?

if((year%400==0)||(year%4==0&&year%100!=0))怎么理解?

正在回答

2 回答

首先,"||"是或运算,即此符号两边任意一边满足即整个表达式返回true,然后year%400==0表示year变量对400取余,并判定是否等于0(请注意在c语言里"=="才是等于,"="是赋值符号),然后"||"的后面,year%4==0和前面的year%400==0意思差不多, 只不过取余对象变成了4,&&是与运算,即此符号两边表达式必须同时满足,表达式才会返回true,后面的"year%100!=0"中,"!="表示不等于,而"||"符号两边用括号括起来是为了防止计算机运算时把优先级弄错(在c语言里括号里的表达式优先级要高许多),其实在这里有没有括号效果是一样的。

王铮理解这句可以将其读为“判断year变量的值是否为400的倍数或为4且非100的倍数”

说得有点混乱,将就看哈

0 回复 有任何疑惑可以回复我~

400的倍数    或者4的倍数但是不能被100整除的数。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

if((year%400==0)||(year%4==0&&year%100!=0))求大神教一下 怎么理解?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信