title: Does the C standard explicitly indicate truth value as 0 or 1?
body: <p>We know that any numbers that are not equal to <code>0</code> are viewed as <code>true</code> in C, so we can write:</p>
  
  <pre><code>int a = 16;
  
  while (a--)
      printf("%d\n", a);  // prints numbers from 15 to 0
  </code></pre>
  
  <p>However, I was wondering whether true / false are defined as <code>1</code>/<code>0</code> in C, so I tried the code below:</p>
  
  <pre><code>printf("True = %d, False = %d\n", (0 == 0), (0 != 0));  // prints: True = 1, False = 0
  </code></pre>
  
  <p>Does C standard explicitly indicate the truth values of  true and false as <code>1</code> and <code>0</code> respectively?</p>