title: Calling main function more than once is a good practice in C?
body: <p>I saw a C code like this: </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  void main  ()
  {
      static int ivar = 5;
      printf ("%d", ivar--);
  
      if (ivar)
          main ();
  }
  </code></pre>
  
  <p>which outputs : </p>
  
  <pre><code>54321
  </code></pre>
  
  <p>I'm a novice in C and I guess until the condition fails the <code>main</code>  method is called again and again. Since I'm a novice in C, is it good practice to call the <code>main</code> function more than once as in the above case? Are there any real world cases, where this kind of code is very useful?</p>
  
  <p>Thanks in advance.</p>