闰年的算法
在VB中判断闰年可以用下面的公式:
if year mod 4 = 0 and year mod 100 <> 0 or year mod 400 = 0 then
……
上面这个判断语句的含义是:如果一个年数能被4整除,同时满足不能被100整除,又或者能被400整除,就是闰年。算法虽然不错。。但是朋友颓然提出一个问题?2000年是不是闰年?程序运行结果是“是”!但是按上面算法的分析来看,2000虽然能被4整除,但同时也能被100整除啊。。。这是为什么?
参考答案:or的左右两边只要满足一个即可
就是说因为year mod 400=0
所以or得到的结果是true
所以整个语句的返回值是true
“又或者能被400整除”
这不是你说的吗?
或者 只需要满足二者中其一即可