求助,这个冒泡排序为什么运行出错,数组第一个元素输出为0?#include <stdio.h>#include<iostream>using namespace std;int main(){ int rank[5]; int i,j; for(i=0;i<5;i++) { cin>>rank[i]; } //int k=0,q=0; for(i=0;i<4;i++) { int k=0,q=0; for(j=i+1;j<5;j++) { if(rank[i]>rank[j]) k=i; q=j; } rank[q]=rank[q]^rank[k]; rank[k]=rank[q]^rank[k]; rank[q]=rank[q]^rank[k]; } for(i=0;i<5;i++) cout<<rank[i]<<" "; return 0;}