我们如果要交换两个整数的值,我们可以通过创建临时变量的方法:
首先,我们先来介绍创建临时变量交换两个整数的方法,要创建临时变量交换两个整数的值,我们可以利用指针来进行传址操作,大概的思路就是自定义一个交换函数,利用指针进行传址操作,传入两个要交换的两个参数的地址,通过指针的解引用交换它们两个的数值,再在main函数里用printf函数打印输出交换的值。
具体的操作步骤如下:
首先我们可以自定义一个函数,名为my_swap(此处的函数名可自己命名,命名原则要贴近实现的我们所要的目的)
在这里,我们传入的是两个地址,因此在传入的参数那里是两个指针变量int*a和int*b,
int my_swap(int *a,int*b)
接着,我们再创建一个临时变量,利用指针的解引用交换两个整数的值 :
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
到此加上头文件,再补全代码,我们自定义的my_swap函数如下
#include <stdio.h>
#include <stdlib.h>
int my_swap(int*a,int*b)
{
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
return ;
}
然后,我们再在main函数里,定义两个整数变量int a和int b, 捕捉两个数字,将它们的值赋给a和b,
利用printf函数将没交换前的a和b打印输出:
int main()
{
int a = 100; int b = 200;
printf("请输入两个整数:");
scanf_s("%d %d", &a, &b);
printf("交换前:%d %d", a, b);
}
然后调用自定义的my_swap函数,注意,调用自定义的my_swap函数时,应当传入的是两个整数的地址,而不是传入a和b的值,因此应当是这样:
my_swap(&a,&b);
补全代码,在整个main函数里是这样:
int main()
{
int a ; int b ;
printf("请输入两个整数:");
scanf_s("%d %d", &a, &b);
printf("交换前:%d %d", a, b);
my_swap(&a, &b);
printf("交换后:%d %d", a, b);
system("pause");
return 0;
}
以上就是全部思路,将自定义的my_swap函数和main函数合起来,就是整个可执行的程序.
为了结果美观,我们可以适当加上换行符“\n”.
具体代码如下:
#include <stdio.h>
#include <stdlib.h>
int my_swap(int*a,int*b)
{
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
return ;
}
int main()
{
int a ; int b ;
printf("请输入两个整数:\n");
scanf_s("%d %d", &a, &b);
printf("交换前:%d %d\n", a, b);
my_swap(&a, &b);
printf("交换后:%d %d", a, b);
system("pause");
return 0;
}
程序执行结果如下: