title: Factorial calculation is not right in my C program?
body: <pre><code>#include &lt;stdio.h&gt;
  #include &lt;conio.h&gt;
  
  int main()
  {
    long signed fact=1;
  
    int c, n ;
  
    printf("Factorial to be calculated: ");
    scanf("%d", &amp;n);
  
    for (c = 1; c &lt;= n; c++)
    fact = fact * c;
  
    printf("Factorial of %d = %ld\n", n, fact);
    getch();
    return 0;
  }
  </code></pre>
  
  <p>In the C program above, when I run, I can not get 13! correct. It's output is true for 12. How can I fix this?
  I thought long unsigned will be enough for 13.</p>