在C语言中,一说到交换两个整数的值,大家第一反应可能是这样的代码。定义一个第三方变量来辅助交换。
#include
int main()
{
int num1 = 10;
int num2 = 20;
int tmp = 0;
tmp = num1;
num1 = num2;
num2 = tmp;
printf("num1 = %d num2 = %d\n",num1,num2);
return 0;
}
这个运行结果我就不拿出来了,他是符合我们预期结果的。那么,如果要求,不允许定义第三变量交换两个整数的值,你会怎么做呢?
那有些人可能会说,不定义第三变量,可以啊,我在主函数外部再写一个Swap交换函数,通过调用函数来交换两个数的值嘛!于是,就有了这样的代码
#include
int main()
{
int num1 = 10;
int num2 = 20;
int Swap(int x,int y);
Swap(num1,num2);
printf("num1 = %d num2 = %d\n",num1,num2);
return 0;
}
int Swap(int x,int y)
{
int tmp;
tmp = x;
x &#