数组arr[]传递到函数内数组a[]后,数组a[]进行排序为什么也会引起数组arr[]的变化,这里不是值传递吗
#include<stdio.h>
void Quicksort(int a[], int left, int right) { //快排函数
int temp;
int mid = a[(left + right) / 2]; //找基准值
int i = left;
int j = right;
while (i <= j) {
while (a[i] < mid) i++;
while (a[j] > mid) j--;
if (i <= j) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
i++;
j--;
}
}
if (i < right) Quicksort(a, i, right); //递归
if (j > left) Quicksort(a, left, j); //递归
}
int main() {
int n, m, i;
int arr[100];
scanf_s("%d", &n);
for (i = 0; i < n; i++) {
scanf_s("%d", &arr[i]); //输入
}
Quicksort(arr, 0, n - 1); //调用函数
for (i = 0; i < n; i++) {
printf("%d ", arr[i]); //输出
}
return 0;
}