三种方式:
1. C = A; A= B; B = C; (水杯换水,再拿一个空杯子)
2. 子函数+指针
/******************** 通过 【指针,子函数】 互换变量 【A,B】存储的值 ********************/
#include<stdio.h>
void huhuan(int *, int *);
int main(void)
{
int a = 3;
int b = 5;
huhuan(&a,&b);
printf("a=%d,b=%d\n", a,b);
return 0;
}
void huhuan(int * p, int * q)
{
int t;
t = *p;
*p = *q;
*q = t;
return;
}
/*
通过指针可以,将指针变量指向的普通变量存储的值,进行互换
*/
/******************** 无法互换A,B ********************/
/*#include<stdio.h>
int huhuan(int, int);
int main(void)
{
int a = 3;
int b = 5;
huhuan(a,b);
printf("a = %d, b = %d", a,b);
return 0;
}
int huhuan(int a, int b)
{
int t;
t = a;
a = b;
b = t;
return a,b;
}
/*
无法互换的原因:根本原因,子函数中的a,b 与 主函数中的 a,b都是局部变量,互不影响。
*/
3. 变量运算
/*
时间:2018.02.11
目的:变量“A”和“B”互换
*/
#include <stdio.h>
int main(void)
{
int i = 3;
int j = 4;
i = i + j; // 执行之后:i = 7, j = 4
j = i - j; // i = 7, j = 3
i = i - j;
printf("i = %d, j = %d", i,j);
return 0;
}