黑马程序员技术交流社区
标题:
交换两个数值变量的值的三种方式
[打印本页]
作者:
strongfish
时间:
2015-7-15 10:22
标题:
交换两个数值变量的值的三种方式
方式一: 利用第三个变量交换变量的值(适用范围最广).
# include <stdio.h>
int main()
{
int a, b, t;
scanf("%d%d", &a, &b);
t = a;
a = b;
b = t;
printf("%d %d\n", a, b);
return 0;
}
复制代码
方式二:直接加减法交换两个变量的值(注意:数值的上溢下益. 且, 只有定义了加减法的数据类型才可以这么做)。
# include <stdio.h>
int main()
{
int a, b;
scanf("%d%d", &a, &b);
a = a + b;
b = a - b;
a = a - b;
printf("%d %d\n", a, b);
return 0;
}
复制代码
方式三:利用^(异或运算符)交换两个变量的值.
(此为方式二的变种, 可简写为 a ^= b ^= a ^= b.
整体来看, 三变量是最通用的! 建议多使用)
# include <stdio.h>
int main()
{
int a, b, t;
scanf("%d%d", &a, &b);
a = a^b;
b = a^b;
a = a^b;
printf("%d %d\n", a, b);
return 0;
}
复制代码
完。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2