第一种方法:
定义一个临时变量temp来进行a和b的值交换,代码如下:
#include <stdio.h> int main () { int a = 5; int b = 15; int temp = 0; printf("初始值: a=%d, b=%d\n",a,b); temp = a;//temp=5 a = b;//a=15 b = temp;//b=5 printf("交换后: a=%d, b=%d\n",a,b); return 0; }
第二种方法:
不定义临时变量,通过利用a和b差值(也可以利用其他运算)进行交换,代码如下:
#include <stdio.h> int main () { int a = 5; int b = 15; printf("初始值: a=%d, b=%d\n",a,b); a = a-b;//a=-10 b = b+a;//b=5 a = b-a;//a=15 printf("交换后: a=%d, b=%d\n",a,b); return 0; }
第三种方法:
不定义临时变量,通过异或(对两个数二进制各个比特位进行异或,相同为0,相异为1)的方法对a和b的值进行交换,代码如下:
#include <stdio.h> int main () { int a = 5; int b = 15; printf("初始值: a=%d, b=%d\n",a,b); a ^= b; b ^= a; a ^= b; printf("交换后: a=%d, b=%d\n",a,b); return 0; }