【发布时间】:2020-06-22 10:55:15
【问题描述】:
我有一个函数,我希望能够按降序对数组进行排序。该函数将数组作为参数,数组的长度始终为 10。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
void printHighScore(int *highScore){
int i, j;
int temp;
for (i = 0; i < 10; i++){
for (j = i + 1; j < 10; j++){
if(highScore[i] < highScore[j]){
temp = highScore[i];
highScore[i] = highScore[j];
highScore[j] = temp;
}
}
}
printf("1: %d\n2: %d\n3: %d\n4: %d\n5: %d\n", highScore[0], highScore[1], highScore[2], highScore[3], highScore[4]);
}
int main(){
int *highScore[10] = {1,2,3,4,5,6,7,8,9,10};
printHighScore(highScore);
return 0;
}
我希望输出如下:
1:10
2:9
3:8
4:7
5:6
因为这些是数组的最大值。但是,我得到以下输出:
1:5
2:4
3:3
4:2
5:1
这里出了什么问题?
【问题讨论】: