此题的解决思路为:创建一个Swap函数,参数为a和b,函数内部创建一个临时变量tmp,用于交换两个数。
但需要注意的是:函数传参的过程中需要注意,形参是实参的一份临时拷贝,形参的改变不会影响实参,所以此时函数传参的时候需要传递实参的地址(&a),即传址调用,在接收部分就要使用指变量来接收(*p),这样可以使实参和形参产生一定的联系。
具体代码如下:
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <stdlib.h>
void swap(int *a, int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
int main()
{
int a = 0;
int b = 0;
printf("请输入两个数\n");
printf("a = ");
scanf("%d", &a);
printf("b = ");
scanf("%d", &b);
swap(&a, &b);
printf("a = %d b = %d", a, b);
system("pause");
return 0;
}