<分区>
为什么我在 selection_sort
函数中应用到 a[]
的更改也会应用到 main 中的
功能?谁能给我解释一下?series[]
#include <stdio.h>
#define NUMS 8
void selection_sort(int a[], int n);
int main(void)
{
int i, series[NUMS];
printf("\nEnter %d numbers: ", NUMS);
for (i = 0; i < NUMS; i++)
scanf("%d", &series[i]);
selection_sort(series, NUMS);
printf("Sorted: ");
for (i = 0; i < NUMS; i++)
printf("%d ", series[i]);
printf("\n\n");
return 0;
}
void selection_sort(int a[], int n)
{
if (n == 0) return;
int i, li = 0;
for (i = 1; i < n; i++)
if (a[i] > a[li])
li = i;
i = a[n-1];
a[n-1] = a[li];
a[li] = i;
selection_sort(a, n - 1);
}
我希望 a[]
数组中的更改不会干扰 series[]
中的元素。但这让我很困惑。