#include<stdio.h>
void swap1(int x, int y) { //最普通的交换,利用中间数值
int temp = x;
x = y;
y = temp;
printf("交换后的值为%d %d\n", x, y);//只能在函数内部打印,出了函数ab还是原值,因为函数中的是形参,相当于一份拷贝,不改变函数外的原值
} //在函数内部打印是比较捞的,不推荐
void swap2(int* x, int* y) { //利用地址交换,可以达到真实交换数值的目的
int temp = *x;
*x = *y;
*y = temp;
}
int main() {
int a = 0;
int b = 0;
printf("请输入想要交换的两个数值:");
scanf_s("%d%d", &a, &b);
swap1(a, b);
swap2(&a, &b);
printf("交换后的值为%d %d\n", a, b);
return 0;
}
方法一中的a、b是形式参数,不会对主函数中的a、b有所改变