为什么写的swap()函数里面参数不加引用变量&的话,a,b的值就没有改变?感觉上课老师没有讲明白,大佬求指点。?
#include <iostream>
using namespace std;
int a[10001] = { 0 };
void Swap(int &a, int &b) {
int temp;
temp = a;
a = b;
b = temp;
}
int main() {
int N;
int sum = 0;
cin >> N;
for (int k = 1; k <= N; k++)
cin >> a[k];
for (int i = 1; i < N ; i++) {
for (int j = 1; j < N + 1 - i; j++)
{
if (a[j]>a[j + 1]) {
Swap(a[j],a[j+1]);
sum++;
}
}
}
cout << sum << endl;
return 0;
}