title: C puzzle: Output of printf should be '5' always
body: <p>I found this puzzle in a C aptitude paper.</p>
  
  <pre><code>void change()
  {
      //write something in this function so that output of printf in main function
      //should always give 5.you can't change the main function
  }
  
  int main()
  {
      int i = 5;
      change();
      i = 10;
      printf("%d", i);
      return 0;
  }
  </code></pre>
  
  <p>Any solutions.?</p>