30
什么时候(x == x + 2)?[关闭]
挑战:x以这样一种方式定义表达式,使表达式(x == x+2)求值为true。 我用C标记了问题,但欢迎使用其他语言的答案,只要它们具有创造力或突出语言的有趣方面即可。 我打算接受C解决方案,但其他语言也可以投票。 正确-适用于符合标准的实现。例外-假设是基本类型的实现,如果是常见实现(例如,假设int是32位2的补码),则可以。 简单-应该很小,使用基本语言功能。 有趣-我承认这是主观的。我有一些我认为有趣的示例,但我不想给出任何提示。更新:避免预处理器很有趣。 快速-第一个好的答案将被接受。 得到60个答案(我从没想到过这样的参与)后,总结一下可能会很好。 这60个答案分为7组,其中3组可以用C语言实现,其余用其他语言实现: C预处理程序。#define x 2|0有人建议,但还有许多其他可能性。 浮点。大数,无穷大或NaN都起作用。 指针算术。指向巨大结构的指针导致加2来回绕。 其余的不适用于C: 运算符重载- +不加或==始终返回true的 A。 制作x一个函数调用(有些语言允许它没有x()语法)。然后,它每次都可以返回其他内容。 一位数据类型。然后x == x+2 (mod 2)。 不断变化2-您0可以使用某种语言进行分配。
90
math
arithmetic
c