title: Why the output of the following 3 programs is like this?
body: <pre><code>#include&lt;stdio.h&gt;
  int add(int,int);
  int main()
  {
    int p=add(10,20);
    printf("%d",p);
    return 0;
  }
  
  int add(int x, int y)
  {
    int sum=x+y;
  }
  
  O/P: 30
  </code></pre>
  
  <hr>
  
  <pre><code>#include&lt;stdio.h&gt;
  int add(int,int);
  int main()
  {
    int p=add(10,20);
    printf("%d",p);
    return 0;
  }
  int add(int x, int y)
  {
    int sum=x+y;
    printf("Hello");
  }
  
  O/P: 5
  </code></pre>
  
  <hr>
  
  <pre><code>#include&lt;stdio.h&gt;
  int add(int,int);
  int main()
  {
    int p=add(10,20);
    printf("%d",p);
    return 0;
  }
  int add(int x, int y)
  {
    int sum=x+y;
    sum++;
  }
  
  O/P: 30
  </code></pre>