c++ - 难以阅读两行代码

标签 c++ c

如何分析下面这两行代码?

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/

相关文章:

c - C 中 va_list 可能存在缓冲区溢出漏洞?

c - 如何使用节点指针建立链表解决赋值中的不兼容类型

c - 取消引用指向我的自定义列表中不完整类型的指针

c++ - Sublime Text 找不到外部 C++ 库

c++ - 具有嵌套类的模板类

c - ping 执行如何计算往返时间?

c - 函数正在添加到数组的二维而不是一维 C

c++ - Boost.Graph - 有 2 个简单类和一个类 - 数据类型如何创建图形?

c++ - 在 C 中使用 CoGetClassObject() - 访问 COM 对象接口(interface)

C++:获取 native dll依赖项而无需在进程中加载​​它