我很难理解在数组中找到第二大的数字的方法背后的逻辑。所使用的方法是找到数组中最大的数字,但要小于之前已经找到的最大数字。我仍然无法弄清楚的是为什么需要 `|| highest_score == second_highest`。例如,我输入了三个数字:98、56、3。如果没有这个条件,最大值和第二大值都将是98。请解释一下。
int second highest = score[0];
if (score[i] > second_highest && score[i] < highest_score || highest_score == second_highest)
second_highest = score[i];