title: Brackets used in C and their purposes
body: <p>I'm sorry if this has been asked before, but I'm a beginner to C and I was wondering if someone could help explain the use of the <code>()</code> brackets in the following code.</p>
  <p>I took it from an online tutorial and it runs fine, but there's one part of it I don't understand.</p>
  <pre class="lang-c prettyprint-override"><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  
  int main()
  {
      int age;
      printf(&quot;Please enter the age&quot;);
      scanf(&quot;%d&quot;, &amp;age);
      if (age &gt; 18 /*condition */ ) {
         printf(&quot;You may enter the club&quot;);
         if (age &lt; 21)
         {
          printf(&quot;The age is greater than 18 but less than 21&quot;);
  
      }    else
          (printf(&quot;The age is greater than 18 and greater than 21&quot;));
  
  
  } else if (age == 18)
  {
      printf(&quot;The age is equal to 18&quot;);
  }
  else {
      printf(&quot;The age is not greater than 18&quot;);
      }
  
  return 0;
  }
  </code></pre>
  <p>From what I've gathered the round brackets are used to contain the conditions of an if statement, and the curly brackets are used to state the operation which follows that condition.
  Except for the nested else condition in bold, where the else statement is followed by a round brackets enclosing the print command.</p>
  <p>Could anyone explain why this is so?</p>