赞
踩
第一种方法:给定两个整形变量的值,创建两个临时变量将两个值的内容进行交换。
{
int a = 2;
int b = 3;
int c = 0;
printf("原来的\na=%d b=%d\n", a, b);
c = a;
a = b;
b = c;
printf("现在的\na=%d b=%d", a, b);
system("pause");
return 0;
}
第二种方法:不允许创建临时变量,交换两个数的内容
{
int a = 2;
int b = 3;
printf("原来的\na=%d b=%d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("现在的\na=%d b=%d", a, b);
system("pause");
return 0;
}
第三种方法:用异或符号,可以避免a+b的值溢出
{
int a = 2;
int b = 3;
printf("原来的\na=%d b=%d\n", a, b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("现在的\na=%d b=%d", a, b);
system("pause");
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。