title: Need help understanding this recursive function
body: <p>I'm learning recursion and we're supposed to get the biggest number from an array, but I don't understand the solution.</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;stdlib.h&gt;
  int biggestNumber(int *array, int n);
  
  int main(void){
    int n=3;
    int array[3]={3,4,1};
    fprintf(stdout, "|||||%d\n", biggestNumber(array,n));
    return 0;
  }
  
  int biggestNumber(int *array, int n){
    if(n==1){
      return array[0];
    }
    else{
      if(array[n-1]&gt;biggestNumber(array, n-1)){
        return array[n-1];
      }
      else{
        return biggestNumber(array, n-1);  
      }
    }
  }
  </code></pre>
  
  <p>I cannot seem to understand this recursive function. After <code>array[n-1]&gt;biggestNumber(array, n-1)</code> is false, I don't understand the return to the same function.</p>