如何分析下面这两行代码?
w += /* 28 + */ y % 4 == 0 && (y % 100 || y % 400 ==0);
和
w += 30 + (i % 2 ^ i >= 8);
最佳答案
第一个查找闰年,如果是,则将 w 加 1。 (每四年一次,能被100整除的除外,能被400整除的除外。)
第二个查找有 31 天的月份。 (除大于 8 的月份外,每个月都会重复一个月。)
编写此代码的人只是想混淆和幻想。您应该重写它以使其更具可读性。
关于c++ - 难以阅读两行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3541617/