title: Print 1 to 1000 with out using loop
body: <p>i see the question on a c++ programming context, i check for a solution and one of my friend give me this code its works perfect but i can't understand it's logic and also how it's works. i asked to him about it but he also don't know how the program is actually works, i think he is also take this solution from  somewhere. Anybody can explain the logic behind this i mean in the line
   <code>(&amp;main +</code> <code>(&amp;exit - &amp;main)*(j/1000))(j+1);</code> ?    </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  
  void main(int j) {
    printf("%d\n", j);
    (&amp;main + (&amp;exit - &amp;main)*(j/1000))(j+1);
  }
  </code></pre>
  
  <p>Thanks in advance</p>