title: Finding the second highest number in array
body: <p>I'm having difficulty to understand the logic behind the method to find the second highest number in array. The method used is to find the highest in the array but less than the previous highest (which has already been found). The thing that I still can't figure it out is why <code>|| highest_score == second_highest</code> is necessary. For example I input three numbers: 98, 56, 3. Without it, both highest and second highest would be 98. Please explain.</p>
  
  <pre><code>int second highest = score[0];  
  if (score[i] &gt; second_highest &amp;&amp; score[i] &lt; highest_score || highest_score == second_highest)   
      second_highest = score[i];
  </code></pre>