Define value of x in such a way that the expression (x == x+2) would evaluate to true. No rule for this programming puzzle.

Solutions

Jump to C, CSharp, JavaScript, PHP Solution.
You can submit your own solution in comment section in same/different programming language. If your solution is better or in different language we'll add here.

C

#include<stdio.h>

int main()  
{
    double x = 1.0/0.0;
    printf("%d",x==x+2);
    return 0;
}
#include<stdio.h>
#define x 2|0

int main()  
{
    printf("%d",x==x+2); //Basically, the expression is expanded to (2|0 == 2|(0+2)). 
    return 0;
}
#include<stdio.h>

int main()  
{ 
    float x = 1e10; 
    printf("%d\n", x == x + 2); 
}

CSharp

using System;

namespace testcs  
{
    class Program
    {
        static int y;
        static int x
        {
            get
            {
                return y -= 2;
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine(x == x + 2);
        }
    }
}

JavaScript

<html>  
<body>  
<script>  
    x = {
        value: 0,
        valueOf: function () {
            this.value += 2;
            return this.value;
        }
    };

    alert(x == x + 2);
</script>  
</body>  
</html>  

PHP

<?php  
  $x = 1e17;
  echo $x==$x+2;