为何void Exchange(Student s1, Student s2)这个函数无法实现两个学生的交换?
兄弟,你的函数传参是值传参,肯定是不行的。两种方法:指针 或者 引用。
void Exchange(Student* s1, Student* s2) {
Student tmp = *s1;
*s1 = *s2;
*s2 = tmp;
}
void Exchange(Student& s1, Student& s2) {
Student tmp = s1;
s1 = s2;
s2 = tmp;
}