title: Finding max in an array using recursion
body: <p>Suppose I have the following declarations:</p>
  
  <pre><code>int arr[5] = {1,10,9,28,3};
  int low = 0;
  int high = 4; 
  int largest = findLargest(ar, low, high);
  </code></pre>
  
  <p>I am suppose to write a "findLargest" function using recursion, and this is what I got </p>
  
  <pre><code> int findLargest(int arr[], int low, int high)
   {      
      if (low == high)
          return arr[low];
      return max(arr[low], findLargest(arr, low+1, high));
   }
  </code></pre>
  
  <p>The output was <code>28</code>, which was expected. However, I don't really understand how does this recursive function "compare" the values. (By that I mean I don't see any operators such as <code>&gt;</code>, <code>&lt;</code>. The only operator that I see is <code>==</code>). So, how does this recursive function compare the values in the array?</p>