title: Can int return-type function return true?
body: <p>Here is the program that I am trying to compile</p>
  
  <pre><code>#include&lt;stdio.h&gt;   
  int main()
      {
          int i = 0;
          rec(i);
      }
  int rec(int i)
      {
          i = i + 1;
          if (i == 10){return true;}
          rec(i);
          printf("i: %d\n", i);
      }
  </code></pre>
  
  <p>I am getting this output</p>
  
  <pre><code>$ gcc -o one one.c
  one.c: In function ‘rec’:
  one.c:10:24: error: ‘true’ undeclared (first use in this function)
  one.c:10:24: note: each undeclared identifier is reported only once for each function it appears in
  </code></pre>
  
  <p>As far I believe is Boolean true evaluates to 1 in c. If so why am I getting an error? </p>