选择排序法为什么要判断max是否等于i

#include 
using namespace std;
int main(void)
{
    int n,i,max,j;
    cout<<"请输入数组元素的个数(n<=20):";
    cin>>n;
    const int N=20;
    int score[N];
    cout<<"请输入"<"个待排序的数:"<for(i=0;i>score[i];}
    for(i=0;i-1;i++)
    {max=i;
    for(j=i+1;jif(score[j]>score[max])
         max=j;
    if(max!=i)
    {    
    score[i]=score[i]+score[max];
    score[max]=score[i]-score[max];
    score[i]=score[i]-score[max];
    } 
    }
      cout<<"排序后的结果为:"<for(i=0; i" ";            
  cout<return 0;
}

选择排序法为什么要判断max是否等于i

判断max不等于i,说明找到了比i下标对应的值要大的值,下标j要与i下标对应的值进行交换