题⽬描述:
写⼀个函数Swap,可以交换两个整数的内容。注意必须实现成函数完成。
输⼊2个整数,调⽤⾃定义函数Swap,完成2个整数的交换。
先看代码,下面有解析奥!!
#include <stdio.h>
//传⼊两个整型指针参数,进⾏交换
void Swap(int* pa, int* pb)
{
int tmp = *pa;
*pa = *pb;
*pb = tmp;
}
int main()
{
int a = 0;
int b = 0;
//输⼊
scanf("%d %d", &a, &b);
//将需要交换值的两个整数变量的地址作为参数传递给函数,进⾏交换
Swap(&a, &b);
//输出
printf("%d %d\n", a, b);
return 0;
}
解析在这
这题很简单,当然你可以用指针,也可以不用指针,用指针则是直接把两数地址的内容交换,如果不用指针,那你打印a , b只能在函数内。但 因为是要做一个类似库函数的函数,所以还是用指针更稳妥。
首先输入两个整数。
将他们的地址传给swap函数,在用两个指针变量pa ,pb接收。
在函数中,用一个tmp 变量,作为中间人,去给pa pb 解引用的值进行交换,因为如果只用两个变量是不能完成交换的,因为 如果 a = b,在用b = a的话,只能让 b = b。等于没交换。